Example #1
0
 /// <summary>
 /// 执行查询的存储过程[带输入参数]
 /// </summary>
 /// <param name="storeProcName"></param>
 /// <param name="prams"></param>
 /// <returns></returns>
 public DataSet ExecProcQuery(string storeProcName, ParCollection prams = null)
 {
     try
     {
         base.myAdapter = new SqlDataAdapter(storeProcName, DBDalBase.myConnectionString);
         base.myAdapter.SelectCommand.CommandType = CommandType.StoredProcedure;
         if (prams != null)
         {
             foreach (SqlParameter parameter in prams)
             {
                 if (parameter != null)
                 {
                     base.myAdapter.SelectCommand.Parameters.Add(parameter);
                 }
             }
         }
         base.myDataSet = new DataSet();
         base.myAdapter.Fill(base.myDataSet);
     }
     catch (Exception ex)
     {
         using (LogMethod lM = new LogMethod())
         {
             lM.WriteLog(ex.Message, ex);
         }
         throw new Exception(ex.Message, ex);
     }
     finally
     {
         base.DataAdapterClose();
     }
     return(base.myDataSet);
 }
Example #2
0
 /// <summary>
 /// 执行查询的存储过程[带输入参数]
 /// </summary>
 /// <param name="storeProcName"></param>
 /// <param name="prams"></param>
 /// <returns></returns>
 public void ExecProcQueryNoReutrn(string storeProcName, ParCollection prams, string paramName, out string msg)
 {
     try
     {
         base.myAdapter = new SqlDataAdapter(storeProcName, DBDalBase.myConnectionString);
         base.myAdapter.SelectCommand.CommandType = CommandType.StoredProcedure;
         if (prams != null || prams.Count > 0)
         {
             foreach (SqlParameter parameter in prams)
             {
                 if (parameter != null)
                 {
                     base.myAdapter.SelectCommand.Parameters.Add(parameter);
                 }
             }
         }
         base.myAdapter.SelectCommand.Parameters.Add(new SqlParameter(paramName, SqlDbType.NVarChar, 5000, ParameterDirection.Output, true, 0, 0, string.Empty, DataRowVersion.Default, DBNull.Value));
         base.myDataSet = new DataSet();
         base.myAdapter.Fill(base.myDataSet);
         msg = (string)base.myAdapter.SelectCommand.Parameters[paramName].Value;
     }
     catch (Exception ex)
     {
         using (LogMethod lM = new LogMethod())
         {
             lM.WriteLog(ex.Message, ex);
         }
         throw new Exception(ex.Message, ex);
     }
     finally
     {
         base.DataAdapterClose();
     }
 }
Example #3
0
        /// <summary>
        /// 检查是否存在
        /// </summary>
        /// <param name="sql"></param>
        /// <param name="prams"></param>
        /// <returns></returns>
        public bool Exists(StringBuilder sql, ParCollection prams)
        {
            object objResult = "";

            try
            {
                base.ConnectionOpen();
                base.myCommand = new SqlCommand(sql.ToString(), base.myConnection);
                if (prams != null)
                {
                    foreach (SqlParameter paremeter in prams)
                    {
                        if (paremeter != null)
                        {
                            base.myCommand.Parameters.Add(paremeter);
                        }
                    }
                }
                objResult = base.myCommand.ExecuteScalar();
            }
            catch (Exception ex)
            {
                using (LogMethod lM = new LogMethod())
                {
                    lM.WriteLog(ex.Message, ex);
                }
                throw new Exception(ex.Message, ex);
            }
            finally
            {
                base.CommandClose();
                base.ConnectionClose();
            }

            int cmdresult;

            if ((Object.Equals(objResult, null)) || (Object.Equals(objResult, System.DBNull.Value)))
            {
                cmdresult = 0;
            }
            else
            {
                cmdresult = int.Parse(objResult.ToString());
            }
            if (cmdresult == 0)
            {
                return(false);
            }
            else
            {
                return(true);
            }
        }
Example #4
0
        /// <summary>
        ///  执行多条SQL语句,实现数据库事务。
        /// </summary>
        /// <param name="SQLStringList">SQL语句的哈希表(key为sql语句,value是该语句的SqlParameter[])</param>
        /// <returns>事务是否成功</returns>
        public bool ExecSqlTran(TranCollection ltTran)
        {
            bool flag = true;

            base.ConnectionOpen();
            base.myCommand       = new SqlCommand();
            myCommand.Connection = base.myConnection;
            string CurrentSql = "";
            var    curList    = ltTran.OrderBy(ss => ss.Order).ToList();

            using (SqlTransaction trans = base.myConnection.BeginTransaction())
            {
                try
                {
                    //循环
                    foreach (var tran in curList)
                    {
                        CurrentSql = tran.Sql.ToString();
                        SqlParameter[] cmdParms = tran.Pars != null?tran.Pars.ToArray() : null;

                        PrepareCommand(base.myCommand, base.myConnection, trans, CurrentSql, cmdParms);
                        int val = myCommand.ExecuteNonQuery();
                        myCommand.Parameters.Clear();
                    }
                    trans.Commit();
                    return(flag);
                }
                catch (Exception ex)
                {
                    trans.Rollback();
                    using (LogMethod lM = new LogMethod())
                    {
                        lM.WriteLog(ex.Message + "SQL:" + CurrentSql, ex);
                    }
                    throw ex;
                }
                finally
                {
                    base.CommandClose();
                    base.ConnectionClose();
                }
            }
        }
Example #5
0
 /// <summary>
 /// 执行查询的存储过程[带输入参数],[输出参数自定义]
 /// </summary>
 /// <param name="storeProcName">存储过程名称</param>
 /// <param name="prams">参数集合</param>
 /// <param name="outPubParamName">输出参数名称,必须带@</param>
 /// <param name="OutPutValue">输出参数</param>
 /// <returns></returns>
 public DataSet ExecProcQuery(string storeProcName, ParCollection prams, string outPubParamName, out string OutPutValue)
 {
     try
     {
         base.myAdapter = new SqlDataAdapter(storeProcName, DBDalBase.myConnectionString);
         base.myAdapter.SelectCommand.CommandType = CommandType.StoredProcedure;
         if (prams != null)
         {
             foreach (SqlParameter parameter in prams)
             {
                 if (parameter != null)
                 {
                     base.myAdapter.SelectCommand.Parameters.Add(parameter);
                 }
             }
         }
         base.myAdapter.SelectCommand.Parameters.Add(new SqlParameter(outPubParamName, SqlDbType.NVarChar, 500, ParameterDirection.Output, true, 0, 0, string.Empty, DataRowVersion.Default, DBNull.Value));
         base.myDataSet = new DataSet();
         base.myAdapter.Fill(base.myDataSet);
         object objParamVal = base.myAdapter.SelectCommand.Parameters[outPubParamName].Value;
         OutPutValue = string.Empty;
         if (objParamVal != DBNull.Value)
         {
             OutPutValue = objParamVal.ToString();
         }
     }
     catch (Exception ex)
     {
         using (LogMethod lM = new LogMethod())
         {
             lM.WriteLog(ex.Message, ex);
         }
         throw new Exception(ex.Message, ex);
     }
     finally
     {
         base.DataAdapterClose();
     }
     return(base.myDataSet);
 }
Example #6
0
 /// <summary>
 /// 执行查询的sql语句[带输入参数]
 /// </summary>
 /// <param name="sql"></param>
 /// <param name="prams"></param>
 /// <returns></returns>
 public DataSet ExecSqlQuery(StringBuilder sql, ParCollection prams = null)
 {
     try
     {
         base.myAdapter = new SqlDataAdapter(sql.ToString(), DBDalBase.myConnectionString);
         if (prams != null)
         {
             foreach (SqlParameter parameter in prams)
             {
                 if (parameter != null)
                 {
                     base.myAdapter.SelectCommand.Parameters.Add(parameter);
                 }
             }
         }
         base.myDataSet = new DataSet();
         base.myAdapter.Fill(base.myDataSet);
     }
     catch (Exception ex)
     {
         using (LogMethod lM = new LogMethod())
         {
             lM.WriteLog(ex.Message, ex);
         }
         throw new Exception(ex.Message, ex);
     }
     finally
     {
         base.DataAdapterClose();
     }
     if (base.myDataSet != null && base.myDataSet.Tables[0].Rows.Count == 0)
     {
         base.myDataSet.Dispose();
         return(null);
     }
     return(base.myDataSet);
 }
Example #7
0
        /// <summary>
        /// 执行数据更新的sql语句[带输入参数]
        /// </summary>
        /// <param name="sql"></param>
        /// <param name="parms"></param>
        /// <returns></returns>
        public int ExecSqlNoQuery(StringBuilder sql, ParCollection prams = null)
        {
            int intResult = 0;

            try
            {
                base.ConnectionOpen();
                base.myCommand = new SqlCommand(sql.ToString(), base.myConnection);
                if (prams != null)
                {
                    foreach (SqlParameter paremeter in prams)
                    {
                        if (paremeter != null)
                        {
                            base.myCommand.Parameters.Add(paremeter);
                        }
                    }
                }
                intResult = base.myCommand.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
                intResult = -1000;
                using (LogMethod lM = new LogMethod())
                {
                    lM.WriteLog(ex.Message, ex);
                }
                throw new Exception(ex.Message, ex);
            }
            finally
            {
                base.CommandClose();
                base.ConnectionClose();
            }
            return(intResult);
        }
Example #8
0
        public DataSet Paging(string strSql, string strOrderby, int iPageIndex, int iPageSize, out int iCount, ParCollection ltEx = null, bool isGetCount = true)
        {
            try
            {
                iCount = 0;
                int iBegin = (iPageIndex - 1) * iPageSize + 1;
                int iEnd   = iPageIndex * iPageSize;

                //去除select
                var hasSelect = strSql.IndexOf("select", 0, 20, StringComparison.CurrentCultureIgnoreCase);
                if (hasSelect != -1)
                {
                    strSql = strSql.Remove(hasSelect, 6);
                }
                StringBuilder strCount = new StringBuilder();
                if (isGetCount)
                {
                    //统计总数
                    strCount.AppendFormat(" Select @OutputCount=Count(*) {0} ;", strSql.Substring(strSql.IndexOf(" from", StringComparison.CurrentCultureIgnoreCase)));
                }
                StringBuilder strSelect = new StringBuilder();
                strSelect.AppendFormat(SQL_PAGE, strOrderby, strSql);
                List <SqlParameter> ltpar = new List <SqlParameter>();
                ltpar.Add(new SqlParameter("@Begin", SqlDbType.Int)
                {
                    Value = iBegin
                });
                ltpar.Add(new SqlParameter("@End", SqlDbType.Int)
                {
                    Value = iEnd
                });
                if (ltEx != null)
                {
                    ltpar.AddRange(ltEx);
                }
                if (isGetCount)
                {
                    ltpar.Add(new SqlParameter("@OutputCount", SqlDbType.Int)
                    {
                        Direction = ParameterDirection.Output
                    });
                }

                base.myAdapter = new SqlDataAdapter(strSelect.Append(strCount).ToString(), DBDalBase.myConnectionString);
                base.myAdapter.SelectCommand.CommandType = CommandType.Text;
                base.myAdapter.SelectCommand.Parameters.AddRange(ltpar.ToArray());
                base.myDataSet = new DataSet();
                base.myAdapter.Fill(base.myDataSet);
                iCount = isGetCount ? (int)base.myAdapter.SelectCommand.Parameters["@OutputCount"].Value : 0;
            }
            catch (Exception ex)
            {
                using (LogMethod lM = new LogMethod())
                {
                    lM.WriteLog(ex.Message, ex);
                }
                throw new Exception(ex.Message, ex);
            }
            finally
            {
                base.DataAdapterClose();
            }
            return(base.myDataSet);
        }
Example #9
0
 /// <summary>
 /// 执行查询的存储过程[带输入参数]
 /// </summary>
 /// <param name="storeProcName"></param>
 /// <param name="prams"></param>
 /// <returns></returns>
 public void ExecProcQueryNoReutrn(out string msg, string storeProcName, ParCollection prams = null)
 {
     //@@@--2014/11/27-yekang--DEL--测试
     //#region 记录调用存储过程日志
     //try
     //{
     //    LogMethod lM1 = new LogMethod();
     //    StringBuilder strContent = new StringBuilder();
     //    strContent.Append("-------------------------------------------------");
     //    strContent.AppendFormat("\r\n时间:{0} ", DateTime.Now.ToString());
     //    strContent.Append("\r\n");
     //    strContent.AppendFormat("PROCEDURE_NAME:{0} ", storeProcName);
     //    foreach (var item in prams)
     //    {
     //        strContent.Append("\r\n");
     //        strContent.AppendFormat("\tParameterName:{0}\t\t\tSqlVelue:{1}", item.ParameterName, item.SqlValue);
     //    }
     //    strContent.Append("\r\n");
     //    lM1.WriteLog(strContent);
     //}
     //catch (Exception ex)
     //{
     //    using (LogMethod lM = new LogMethod())
     //    {
     //        lM.WriteLog(ex.Message, ex);
     //    }
     //    throw new Exception(ex.Message, ex);
     //}
     //#endregion
     try
     {
         base.myAdapter = new SqlDataAdapter(storeProcName, DBDalBase.myConnectionString);
         base.myAdapter.SelectCommand.CommandType = CommandType.StoredProcedure;
         if (prams != null)
         {
             foreach (SqlParameter parameter in prams)
             {
                 if (parameter != null)
                 {
                     base.myAdapter.SelectCommand.Parameters.Add(parameter);
                 }
             }
         }
         base.myAdapter.SelectCommand.Parameters.Add(new SqlParameter("@msg", SqlDbType.NVarChar, 5000, ParameterDirection.Output, true, 0, 0, string.Empty, DataRowVersion.Default, DBNull.Value));
         base.myDataSet = new DataSet();
         base.myAdapter.Fill(base.myDataSet);
         msg = (string)base.myAdapter.SelectCommand.Parameters["@msg"].Value;
     }
     catch (Exception ex)
     {
         using (LogMethod lM = new LogMethod())
         {
             lM.WriteLog(ex.Message, ex);
         }
         throw new Exception(ex.Message, ex);
     }
     finally
     {
         base.DataAdapterClose();
     }
 }