Exemplo n.º 1
0
        /// <summary>
        /// 第一行第一列 可能为null
        /// </summary>
        /// <param name="pDbHelpParam">DbHelp 接收参数专用类</param>
        /// <returns></returns>
        public static object Scalar(IDbHelpParam pDbHelpParam)
        {
            IDbConnection conn = pDbHelpParam.DbProvider.NewConnection();

            try
            {
                using (IDbCommand cmd = conn.CreateCommand())
                {
                    SetCmd(pDbHelpParam, cmd, conn);
                    object val = cmd.ExecuteScalar();
                    cmd.Parameters.Clear();
                    cmd.Dispose();
                    return(val);
                }
            }
            catch (Exception ex)
            {
                pDbHelpParam.DbProvider.Dispose(conn);
                throw new Exception(ex.Message + "Scalar sql:" + pDbHelpParam.SQL);
            }
            finally
            {
                pDbHelpParam.DbProvider.Dispose(conn);
            }
        }
Exemplo n.º 2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="pDbHelpParam">DbHelp 接收参数专用类</param>
        /// <returns></returns>
        public static DataTable GetDataTable(IDbHelpParam pDbHelpParam)
        {
            IDbConnection conn = pDbHelpParam.DbProvider.NewConnection();

            try
            {
                using (IDbCommand cmd = conn.CreateCommand())
                {
                    DataTable     dt = new DataTable();
                    DbDataAdapter sda;
                    SetCmd(pDbHelpParam, cmd, conn);
                    sda = pDbHelpParam.DbProvider.NewDataAdapter();
                    sda.SelectCommand = (DbCommand)cmd;
                    sda.Fill(dt);
                    //HttpContext.Current.Response.Write(((System.Data.SqlClient.SqlCommand)cmd).Parameters["@PageCount"].Value.ToString());
                    cmd.Parameters.Clear();

                    return(dt);
                }
            }
            catch (Exception ex)
            {
                pDbHelpParam.DbProvider.Dispose(conn);
                throw new Exception(ex.Message + "GetDataTable sql:" + pDbHelpParam.SQL);
            }
            finally
            {
                pDbHelpParam.DbProvider.Dispose(conn);
            }
        }
Exemplo n.º 3
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="pDbHelpParam">DbHelp 接收参数专用类</param>
        /// <returns></returns>
        public static IDataReader Read(IDbHelpParam pDbHelpParam)
        {
            IDbConnection conn = pDbHelpParam.DbProvider.NewConnection();

            try
            {
                using (IDbCommand cmd = conn.CreateCommand())
                {
                    SetCmd(pDbHelpParam, cmd, conn);

                    IDataReader rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
                    cmd.Parameters.Clear();
                    cmd.Dispose();
                    return(rdr);
                }
            }
            catch (Exception ex)
            {
                pDbHelpParam.DbProvider.Dispose(conn);
                throw new Exception(ex.Message + "Read sql:" + pDbHelpParam.SQL);
            }
            finally
            {
            }
        }
Exemplo n.º 4
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="pDbHelpParam">DbHelp 接收参数专用类</param>
        /// <returns></returns>
        public static DataSet GetDataSet(IDbHelpParam pDbHelpParam)
        {
            IDbConnection conn = pDbHelpParam.DbProvider.NewConnection();

            try
            {
                using (IDbCommand cmd = conn.CreateCommand())
                {
                    DataSet       ds = new DataSet();
                    DbDataAdapter sda;
                    SetCmd(pDbHelpParam, cmd, conn);
                    sda = pDbHelpParam.DbProvider.NewDataAdapter();
                    sda.SelectCommand = (DbCommand)cmd;
                    sda.Fill(ds);

                    cmd.Parameters.Clear();
                    cmd.Dispose();
                    return(ds);
                }
            }
            catch (Exception ex)
            {
                pDbHelpParam.DbProvider.Dispose(conn);
                throw new Exception(ex.Message + "GetDataSet sql:" + pDbHelpParam.SQL);
            }
            finally
            {
                pDbHelpParam.DbProvider.Dispose(conn);
            }
        }
Exemplo n.º 5
0
        /// <summary>
        /// 事务处理
        /// </summary>
        /// <param name="pDbHelpParam">DbHelp 接收参数专用类</param>
        /// <param name="pTrands">要处理事务的方法</param>
        /// <param name="pObj">传参数</param>
        public static void ExecuteTrans(IDbHelpParam pDbHelpParam, ExecuteTransHandler pTrands, ITransM pObj)
        {
            IDbConnection conn = pDbHelpParam.DbProvider.NewConnection();

            try
            {
                using (IDbCommand cmd = conn.CreateCommand())
                {
                    IDbTransaction trans;
                    SetCmd(pDbHelpParam, cmd, conn);
                    trans           = conn.BeginTransaction();
                    cmd.Transaction = trans;

                    try
                    {
                        int returnTrands = pTrands(new TransHelp(cmd), pObj);//执行业务逻辑

                        if (returnTrands == 1)
                        {
                            trans.Commit();//提交事务
                        }
                        else
                        {
                            trans.Rollback();//回滚事务
                        }
                    }
                    catch (Exception ex)
                    {
                        try
                        {
                            trans.Rollback();//回滚事务
                            pObj.returnValue = "1:" + ex.Message;
                        }
                        catch (Exception exTrans)
                        {
                            pObj.returnValue = "2" + ex.Message + " " + exTrans.Message;
                            throw new Exception(ex.Message + " " + exTrans.Message + ":回滚事务出错");
                        }
                    }

                    cmd.Parameters.Clear();
                }
            }
            catch (Exception ex)
            {
                pDbHelpParam.DbProvider.Dispose(conn);
                throw new Exception(ex.Message + "Update sql:" + pDbHelpParam.SQL);
            }
            finally
            {
                pDbHelpParam.DbProvider.Dispose(conn);
            }
        }
Exemplo n.º 6
0
 public object Scalar(IDbHelpParam pDbHelpParam)
 {
     try
     {
         SetCmd(pDbHelpParam);
         object val = cmd.ExecuteScalar();
         return(val);
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message + "Scalar sql:" + pDbHelpParam.SQL);
     }
 }
Exemplo n.º 7
0
 public int Update(IDbHelpParam pDbHelpParam)
 {
     try
     {
         SetCmd(pDbHelpParam);
         int val = cmd.ExecuteNonQuery();
         return(val);
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message + "trans_Update sql:" + pDbHelpParam.SQL);
     }
 }
Exemplo n.º 8
0
 public IDataReader Read(IDbHelpParam pDbHelpParam)
 {
     try
     {
         SetCmd(pDbHelpParam);
         IDataReader rdr = cmd.ExecuteReader();
         return(rdr);
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message + "Read sql:" + pDbHelpParam.SQL);
     }
 }
Exemplo n.º 9
0
        private void SetCmd(IDbHelpParam pDbHelpParam)
        {
            cmd.Parameters.Clear();
            cmd.CommandText = pDbHelpParam.SQL;
            cmd.CommandType = pDbHelpParam.CmdType;

            if (pDbHelpParam.ArrParm != null)
            {
                foreach (IDataParameter dp in pDbHelpParam.ArrParm)
                {
                    cmd.Parameters.Add(dp);
                }
            }
        }
Exemplo n.º 10
0
 public DataTable GetDataTable(IDbHelpParam pDbHelpParam)
 {
     try
     {
         DataTable     dt = new DataTable();
         DbDataAdapter sda;
         SetCmd(pDbHelpParam);
         sda = dbProvider.NewDataAdapter();
         sda.SelectCommand = (DbCommand)cmd;
         sda.Fill(dt);
         return(dt);
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message + "trans_GetDataTable sql:" + pDbHelpParam.SQL);
     }
 }
Exemplo n.º 11
0
        /// <summary>
        /// 设置 DbCommand
        /// </summary>
        /// <param name="pDbHelpParam">DbHelp 接收参数专用类</param>
        /// <param name="pCommand">IDbCommand</param>
        /// <param name="pConn">IDbConnection</param>
        private static void SetCmd(IDbHelpParam pDbHelpParam, IDbCommand pCommand, IDbConnection pConn)
        {
            if (pConn.State != ConnectionState.Open)
            {
                pConn.Open();
            }

            pCommand.Connection  = pConn;
            pCommand.CommandText = pDbHelpParam.SQL;
            pCommand.CommandType = pDbHelpParam.CmdType;

            if (pDbHelpParam.ArrParm != null)
            {
                foreach (IDataParameter dp in pDbHelpParam.ArrParm)
                {
                    pCommand.Parameters.Add(dp);
                }
            }
        }
Exemplo n.º 12
0
        public string First(IDbHelpParam pDbHelpParam, string pReturn)
        {
            string str;

            using (IDataReader dr = Read(pDbHelpParam))
            {
                if (dr.Read())
                {
                    str = dr[0].ToString();
                }
                else
                {
                    str = pReturn;
                }

                if (str.Length == 0)
                {
                    str = pReturn;
                }
                return(str);
            }
        }
Exemplo n.º 13
0
        /// <summary>
        /// 用于分页 返回当前页的DataTable
        /// </summary>
        /// <param name="pDbHelpParam">DbHelp 接收参数专用类</param>
        /// <param name="pPageIndex">当前页码</param>
        /// <param name="pPageSize">每页记录数</param>
        /// <returns></returns>
        public static DataTable GetDataTable_Paging(IDbHelpParam pDbHelpParam, int pPageIndex, int pPageSize)
        {
            IDbConnection conn = pDbHelpParam.DbProvider.NewConnection();

            try
            {
                using (IDbCommand cmd = conn.CreateCommand())
                {
                    DataSet       ds = new DataSet();
                    DataTable     dt = new DataTable();
                    DbDataAdapter sda;

                    SetCmd(pDbHelpParam, cmd, conn);

                    sda = pDbHelpParam.DbProvider.NewDataAdapter();
                    sda.SelectCommand = (DbCommand)cmd;
                    if (pPageIndex < 1)
                    {
                        pPageIndex = 1;
                    }
                    int startRecord = (pPageIndex - 1) * pPageSize;
                    sda.Fill(ds, startRecord, pPageSize, "0");
                    dt = ds.Tables[0];
                    cmd.Parameters.Clear();
                    cmd.Dispose();
                    return(dt);
                }
            }
            catch (Exception ex)
            {
                pDbHelpParam.DbProvider.Dispose(conn);
                throw new Exception(ex.Message + "GetDataTable_Paging sql:" + pDbHelpParam.SQL);
            }
            finally
            {
                pDbHelpParam.DbProvider.Dispose(conn);
            }
        }
Exemplo n.º 14
0
        /// <summary>
        /// 插入,更新或删除
        /// </summary>
        /// <param name="pDbHelpParam">DbHelp 接收参数专用类</param>
        /// <returns></returns>
        public int Update(IDbHelpParam pDbHelpParam)
        {
            IDbConnection conn = pDbHelpParam.DbProvider.NewConnection();

            try
            {
                using (IDbCommand cmd = conn.CreateCommand())
                {
                    SetCmd(pDbHelpParam, cmd, conn);
                    int val = cmd.ExecuteNonQuery();
                    cmd.Parameters.Clear();
                    return(val);
                }
            }
            catch (Exception ex)
            {
                pDbHelpParam.DbProvider.Dispose(conn);
                throw new Exception(ex.Message + "Update sql:" + pDbHelpParam.SQL);
            }
            finally
            {
                pDbHelpParam.DbProvider.Dispose(conn);
            }
        }
Exemplo n.º 15
0
 public void ExecuteTrans(IDbHelpParam pDbHelpParam, DbHelp.ExecuteTransHandler pTrands, WZ.Common.DbHelp.ITransM pObj)
 {
     throw new NotImplementedException("事务不能嵌套使用");
 }
Exemplo n.º 16
0
 public SqlDataSelect(IDbHelpParam param, IDbHelp thelp)
 {
     this.dtInfo = thelp.GetDataTable(param);
 }
Exemplo n.º 17
0
 public DataTable GetDataTable_Paging(IDbHelpParam pDbHelpParam, int pPageIndex, int pPageSize)
 {
     throw new NotImplementedException("事务中无分页功能");
 }