using System; using System.Collections; using System.Data; using System.Data.SqlClient; using System.Collections.Generic; namespace PMSUI.Model { /// /// 数据访问抽象基础类 /// Copyright (C) Maticsoft /// //public abstract class DbHelperSQL //{ // //数据库连接字符串(config来配置),多数据库可使用DbHelperSQLP来实现. // //public static string connectionString = ConfigurationManager.ConnectionStrings["myconn"].ConnectionString; // //public static string connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["myconn"].ToString(); // //public static string connectionString = ConfigurationManager.ConnectionStrings["connectionstring"].ConnectionString; // //public static string connectionString = ConfigurationSettings.AppSettings["myconn"]; // //public static string KWip = "192.168.1.90"; // //public static string KWsqlname = "WMS_HXGD"; // //public static string AGVSIP = "192.168.1.90"; // //public static string AGVSsqlname = "SH-CasunQRCodeDB"; // //public static string GDIP = "192.168.1.100"; // //public static int GDPort = 8899; // //public static string connectionString = ""; // //public static string connectionString2 = "Data Source="+KWip+";Initial Catalog="+KWsqlname+" ;Integrated Security=false;uid=sa;pwd=123"; // public DbHelperSQL() // { // } // #region 库位执行 // public static DataSet Query(string SQLString, string connectionString) // { // using (SqlConnection connection = new SqlConnection(connectionString)) // { // DataSet ds = new DataSet(); // try // { // connection.Open(); // SqlDataAdapter command = new SqlDataAdapter(SQLString, connection); // command.Fill(ds, "ds"); // } // catch (System.Data.SqlClient.SqlException ex) // { // throw new Exception(ex.Message); // } // return ds; // } // } // public static int ExecuteSql2(string SQLString, string connectionString) // { // using (SqlConnection connection = new SqlConnection(connectionString)) // { // using (SqlCommand cmd = new SqlCommand(SQLString, connection)) // { // try // { // connection.Open(); // int rows = cmd.ExecuteNonQuery(); // return rows; // } // catch (System.Data.SqlClient.SqlException e) // { // connection.Close(); // throw e; // } // } // } // } // public static string EditDataSqlTran(List strSqls) // { // if (strSqls?.Count <= 0) // { // // throw new Exception("请传入有效的SQL语句"); // //MessageBox.Show("请选择要删除的项!"); // return "请传入有效的SQL语句"; // } // SqlConnection conn = null; // SqlTransaction sqltran = null; // try // { // conn = new SqlConnection(connectionString); // conn.Open(); // sqltran = conn.BeginTransaction(); // SqlCommand cmd = new SqlCommand(); // cmd.Connection = conn; // cmd.Transaction = sqltran; // foreach (string str in strSqls) // { // if (string.IsNullOrWhiteSpace(str)) continue; // cmd.CommandText = str; // cmd.ExecuteNonQuery(); // } // sqltran.Commit(); // return "0"; // } // catch (Exception ex) // { // sqltran.Rollback(); // return ex.Message; // } // finally { conn.Close(); } // } // #endregion // #region 公用方法 // /// // /// 判断是否存在某表的某个字段 // /// // /// 表名称 // /// 列名称 // /// 是否存在 // public static bool ColumnExists(string tableName, string columnName) // { // string sql = "select count(1) from syscolumns where [id]=object_id('" + tableName + "') and [name]='" + columnName + "'"; // object res = GetSingle(sql); // if (res == null) // { // return false; // } // return Convert.ToInt32(res) > 0; // } // public static int GetMaxID(string FieldName, string TableName) // { // string strsql = "select max(" + FieldName + ")+1 from " + TableName; // object obj = GetSingle(strsql); // if (obj == null) // { // return 1; // } // else // { // return int.Parse(obj.ToString()); // } // } // public static bool Exists(string strSql) // { // object obj = GetSingle(strSql); // int cmdresult; // if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value))) // { // cmdresult = 0; // } // else // { // cmdresult = int.Parse(obj.ToString()); // } // if (cmdresult == 0) // { // return false; // } // else // { // return true; // } // } // /// // /// 表是否存在 // /// // /// // /// // public static bool TabExists(string TableName) // { // string strsql = "select count(*) from sysobjects where id = object_id(N'[" + TableName + "]') and OBJECTPROPERTY(id, N'IsUserTable') = 1"; // //string strsql = "SELECT count(*) FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[" + TableName + "]') AND type in (N'U')"; // object obj = GetSingle(strsql); // int cmdresult; // if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value))) // { // cmdresult = 0; // } // else // { // cmdresult = int.Parse(obj.ToString()); // } // if (cmdresult == 0) // { // return false; // } // else // { // return true; // } // } // public static bool Exists(string strSql, params SqlParameter[] cmdParms) // { // object obj = GetSingle(strSql, cmdParms); // int cmdresult; // if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value))) // { // cmdresult = 0; // } // else // { // cmdresult = int.Parse(obj.ToString()); // } // if (cmdresult == 0) // { // return false; // } // else // { // return true; // } // } // #endregion // #region 执行简单SQL语句 // /// // /// 执行SQL语句,返回影响的记录数 // /// // /// SQL语句 // /// 影响的记录数 // public static int ExecuteSql(string SQLString) // { // using (SqlConnection connection = new SqlConnection(connectionString)) // { // using (SqlCommand cmd = new SqlCommand(SQLString, connection)) // { // try // { // connection.Open(); // int rows = cmd.ExecuteNonQuery(); // return rows; // } // catch (System.Data.SqlClient.SqlException e) // { // connection.Close(); // throw e; // } // } // } // } // /// // /// 执行SQL语句,返回影响的记录数 // /// // /// SQL语句 // /// 影响的记录数 // public static string ExecuteScalarSql(string SQLString) // { // using (SqlConnection connection = new SqlConnection(connectionString)) // { // using (SqlCommand cmd = new SqlCommand(SQLString, connection)) // { // try // { // connection.Open(); // //int rows = cmd.ExecuteNonQuery(); // string posState = cmd.ExecuteScalar().ToString(); // return posState; // } // catch (System.Data.SqlClient.SqlException e) // { // connection.Close(); // throw e; // } // } // } // } // public static int ExecuteSqlByTime(string SQLString, int Times) // { // using (SqlConnection connection = new SqlConnection(connectionString)) // { // using (SqlCommand cmd = new SqlCommand(SQLString, connection)) // { // try // { // connection.Open(); // cmd.CommandTimeout = Times; // int rows = cmd.ExecuteNonQuery(); // return rows; // } // catch (System.Data.SqlClient.SqlException e) // { // connection.Close(); // throw e; // } // } // } // } // /// // /// 执行Sql和Oracle滴混合事务 // /// // /// SQL命令行列表 // /// Oracle命令行列表 // /// 执行结果 0-由于SQL造成事务失败 -1 由于Oracle造成事务失败 1-整体事务执行成功 // //public static int ExecuteSqlTran(List list, List oracleCmdSqlList) // //{ // // using (SqlConnection conn = new SqlConnection(connectionString)) // // { // // conn.Open(); // // SqlCommand cmd = new SqlCommand(); // // cmd.Connection = conn; // // SqlTransaction tx = conn.BeginTransaction(); // // cmd.Transaction = tx; // // try // // { // // foreach (CommandInfo myDE in list) // // { // // string cmdText = myDE.CommandText; // // SqlParameter[] cmdParms = (SqlParameter[])myDE.Parameters; // // PrepareCommand(cmd, conn, tx, cmdText, cmdParms); // // if (myDE.EffentNextType == EffentNextType.SolicitationEvent) // // { // // if (myDE.CommandText.ToLower().IndexOf("count(") == -1) // // { // // tx.Rollback(); // // throw new Exception("违背要求"+myDE.CommandText+"必须符合select count(..的格式"); // // //return 0; // // } // // object obj = cmd.ExecuteScalar(); // // bool isHave = false; // // if (obj == null && obj == DBNull.Value) // // { // // isHave = false; // // } // // isHave = Convert.ToInt32(obj) > 0; // // if (isHave) // // { // // //引发事件 // // myDE.OnSolicitationEvent(); // // } // // } // // if (myDE.EffentNextType == EffentNextType.WhenHaveContine || myDE.EffentNextType == EffentNextType.WhenNoHaveContine) // // { // // if (myDE.CommandText.ToLower().IndexOf("count(") == -1) // // { // // tx.Rollback(); // // throw new Exception("SQL:违背要求" + myDE.CommandText + "必须符合select count(..的格式"); // // //return 0; // // } // // object obj = cmd.ExecuteScalar(); // // bool isHave = false; // // if (obj == null && obj == DBNull.Value) // // { // // isHave = false; // // } // // isHave = Convert.ToInt32(obj) > 0; // // if (myDE.EffentNextType == EffentNextType.WhenHaveContine && !isHave) // // { // // tx.Rollback(); // // throw new Exception("SQL:违背要求" + myDE.CommandText + "返回值必须大于0"); // // //return 0; // // } // // if (myDE.EffentNextType == EffentNextType.WhenNoHaveContine && isHave) // // { // // tx.Rollback(); // // throw new Exception("SQL:违背要求" + myDE.CommandText + "返回值必须等于0"); // // //return 0; // // } // // continue; // // } // // int val = cmd.ExecuteNonQuery(); // // if (myDE.EffentNextType == EffentNextType.ExcuteEffectRows && val == 0) // // { // // tx.Rollback(); // // throw new Exception("SQL:违背要求" + myDE.CommandText + "必须有影响行"); // // //return 0; // // } // // cmd.Parameters.Clear(); // // } // // string oraConnectionString = PubConstant.GetConnectionString("ConnectionStringPPC"); // // bool res = OracleHelper.ExecuteSqlTran(oraConnectionString, oracleCmdSqlList); // // if (!res) // // { // // tx.Rollback(); // // throw new Exception("Oracle执行失败"); // // // return -1; // // } // // tx.Commit(); // // return 1; // // } // // catch (System.Data.SqlClient.SqlException e) // // { // // tx.Rollback(); // // throw e; // // } // // catch (Exception e) // // { // // tx.Rollback(); // // throw e; // // } // // } // //} // /// // /// 执行多条SQL语句,实现数据库事务。 // /// // /// 多条SQL语句 // public static int ExecuteSqlTran(List SQLStringList) // { // using (SqlConnection conn = new SqlConnection(connectionString)) // { // conn.Open(); // SqlCommand cmd = new SqlCommand(); // cmd.Connection = conn; // SqlTransaction tx = conn.BeginTransaction(); // cmd.Transaction = tx; // try // { // int count = 0; // for (int n = 0; n < SQLStringList.Count; n++) // { // string strsql = SQLStringList[n]; // if (strsql.Trim().Length > 1) // { // cmd.CommandText = strsql; // count += cmd.ExecuteNonQuery(); // } // } // tx.Commit(); // return count; // } // catch // { // tx.Rollback(); // return 0; // } // } // } // /// // /// 执行带一个存储过程参数的的SQL语句。 // /// // /// SQL语句 // /// 参数内容,比如一个字段是格式复杂的文章,有特殊符号,可以通过这个方式添加 // /// 影响的记录数 // public static int ExecuteSql(string SQLString, string content) // { // using (SqlConnection connection = new SqlConnection(connectionString)) // { // SqlCommand cmd = new SqlCommand(SQLString, connection); // System.Data.SqlClient.SqlParameter myParameter = new System.Data.SqlClient.SqlParameter("@content", SqlDbType.NText); // myParameter.Value = content; // cmd.Parameters.Add(myParameter); // try // { // connection.Open(); // int rows = cmd.ExecuteNonQuery(); // return rows; // } // catch (System.Data.SqlClient.SqlException e) // { // throw e; // } // finally // { // cmd.Dispose(); // connection.Close(); // } // } // } // /// // /// 执行带一个存储过程参数的的SQL语句。 // /// // /// SQL语句 // /// 参数内容,比如一个字段是格式复杂的文章,有特殊符号,可以通过这个方式添加 // /// 影响的记录数 // public static object ExecuteSqlGet(string SQLString, string content) // { // using (SqlConnection connection = new SqlConnection(connectionString)) // { // SqlCommand cmd = new SqlCommand(SQLString, connection); // System.Data.SqlClient.SqlParameter myParameter = new System.Data.SqlClient.SqlParameter("@content", SqlDbType.NText); // myParameter.Value = content; // cmd.Parameters.Add(myParameter); // try // { // connection.Open(); // object obj = cmd.ExecuteScalar(); // if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value))) // { // return null; // } // else // { // return obj; // } // } // catch (System.Data.SqlClient.SqlException e) // { // throw e; // } // finally // { // cmd.Dispose(); // connection.Close(); // } // } // } // /// // /// 向数据库里插入图像格式的字段(和上面情况类似的另一种实例) // /// // /// SQL语句 // /// 图像字节,数据库的字段类型为image的情况 // /// 影响的记录数 // public static int ExecuteSqlInsertImg(string strSQL, byte[] fs) // { // using (SqlConnection connection = new SqlConnection(connectionString)) // { // SqlCommand cmd = new SqlCommand(strSQL, connection); // System.Data.SqlClient.SqlParameter myParameter = new System.Data.SqlClient.SqlParameter("@fs", SqlDbType.Image); // myParameter.Value = fs; // cmd.Parameters.Add(myParameter); // try // { // connection.Open(); // int rows = cmd.ExecuteNonQuery(); // return rows; // } // catch (System.Data.SqlClient.SqlException e) // { // throw e; // } // finally // { // cmd.Dispose(); // connection.Close(); // } // } // } // /// // /// 执行一条计算查询结果语句,返回查询结果(object)。 // /// // /// 计算查询结果语句 // /// 查询结果(object) // public static object GetSingle(string SQLString) // { // using (SqlConnection connection = new SqlConnection(connectionString)) // { // using (SqlCommand cmd = new SqlCommand(SQLString, connection)) // { // try // { // connection.Open(); // object obj = cmd.ExecuteScalar(); // if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value))) // { // return null; // } // else // { // return obj; // } // } // catch (System.Data.SqlClient.SqlException e) // { // connection.Close(); // throw e; // } // } // } // } // public static object GetSingle(string SQLString, int Times) // { // using (SqlConnection connection = new SqlConnection(connectionString)) // { // using (SqlCommand cmd = new SqlCommand(SQLString, connection)) // { // try // { // connection.Open(); // cmd.CommandTimeout = Times; // object obj = cmd.ExecuteScalar(); // if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value))) // { // return null; // } // else // { // return obj; // } // } // catch (System.Data.SqlClient.SqlException e) // { // connection.Close(); // throw e; // } // } // } // } // /// // /// 执行查询语句,返回SqlDataReader ( 注意:调用该方法后,一定要对SqlDataReader进行Close ) // /// // /// 查询语句 // /// SqlDataReader // public static SqlDataReader ExecuteReader(string strSQL) // { // SqlConnection connection = new SqlConnection(connectionString); // SqlCommand cmd = new SqlCommand(strSQL, connection); // try // { // connection.Open(); // SqlDataReader myReader = cmd.ExecuteReader(CommandBehavior.CloseConnection); // return myReader; // } // catch (System.Data.SqlClient.SqlException e) // { // throw e; // } // } // /// // /// 执行查询语句,返回DataSet // /// // /// 查询语句 // /// DataSet // public static DataSet Query(string SQLString) // { // using (SqlConnection connection = new SqlConnection(connectionString)) // { // DataSet ds = new DataSet(); // try // { // connection.Open(); // SqlDataAdapter command = new SqlDataAdapter(SQLString, connection); // command.Fill(ds, "ds"); // } // catch (System.Data.SqlClient.SqlException ex) // { // throw new Exception(ex.Message); // } // return ds; // } // } // public static DataSet Query(string SQLString, int Times) // { // using (SqlConnection connection = new SqlConnection(connectionString)) // { // DataSet ds = new DataSet(); // try // { // connection.Open(); // SqlDataAdapter command = new SqlDataAdapter(SQLString, connection); // command.SelectCommand.CommandTimeout = Times; // command.Fill(ds, "ds"); // } // catch (System.Data.SqlClient.SqlException ex) // { // throw new Exception(ex.Message); // } // return ds; // } // } // #endregion // #region 执行带参数的SQL语句 // /// // /// 执行SQL语句,返回影响的记录数 // /// // /// SQL语句 // /// 影响的记录数 // public static int ExecuteSql(string SQLString, params SqlParameter[] cmdParms) // { // using (SqlConnection connection = new SqlConnection(connectionString)) // { // using (SqlCommand cmd = new SqlCommand()) // { // try // { // PrepareCommand(cmd, connection, null, SQLString, cmdParms); // int rows = cmd.ExecuteNonQuery(); // cmd.Parameters.Clear(); // return rows; // } // catch (Exception ex) // { // return -1; // //throw e; // //System. // } // //catch (System.Data.SqlClient.SqlException e) // //{ // // return -1; // // //throw e; // // //System. // //} // } // } // } // /// // /// 执行SQL语句,返回影响的记录数 // /// // /// SQL语句 // /// 影响的记录数 // public static string ExecuteScalarSql(string SQLString, params SqlParameter[] cmdParms) // { // using (SqlConnection connection = new SqlConnection(connectionString)) // { // using (SqlCommand cmd = new SqlCommand()) // { // try // { // PrepareCommand(cmd, connection, null, SQLString, cmdParms); // string posState = cmd.ExecuteScalar().ToString(); // cmd.Parameters.Clear(); // return posState; // } // catch (System.Data.SqlClient.SqlException e) // { // connection.Close(); // throw e; // } // } // } // } // /// // /// 执行多条SQL语句,实现数据库事务。 // /// // /// SQL语句的哈希表(key为sql语句,value是该语句的SqlParameter[]) // public static void ExecuteSqlTran(Hashtable SQLStringList) // { // using (SqlConnection conn = new SqlConnection(connectionString)) // { // conn.Open(); // using (SqlTransaction trans = conn.BeginTransaction()) // { // SqlCommand cmd = new SqlCommand(); // try // { // //循环 // foreach (DictionaryEntry myDE in SQLStringList) // { // string cmdText = myDE.Key.ToString(); // SqlParameter[] cmdParms = (SqlParameter[])myDE.Value; // PrepareCommand(cmd, conn, trans, cmdText, cmdParms); // int val = cmd.ExecuteNonQuery(); // cmd.Parameters.Clear(); // } // trans.Commit(); // } // catch // { // trans.Rollback(); // throw; // } // } // } // } // /// // /// 执行多条SQL语句,实现数据库事务。 // /// // /// SQL语句的哈希表(key为sql语句,value是该语句的SqlParameter[]) // //public static int ExecuteSqlTran(System.Collections.Generic.List cmdList) // //{ // // using (SqlConnection conn = new SqlConnection(connectionString)) // // { // // conn.Open(); // // using (SqlTransaction trans = conn.BeginTransaction()) // // { // // SqlCommand cmd = new SqlCommand(); // // try // // { // // int count = 0; // // //循环 // // foreach (CommandInfo myDE in cmdList) // // { // // string cmdText = myDE.CommandText; // // SqlParameter[] cmdParms = (SqlParameter[])myDE.Parameters; // // PrepareCommand(cmd, conn, trans, cmdText, cmdParms); // // if (myDE.EffentNextType == EffentNextType.WhenHaveContine || myDE.EffentNextType == EffentNextType.WhenNoHaveContine) // // { // // if (myDE.CommandText.ToLower().IndexOf("count(") == -1) // // { // // trans.Rollback(); // // return 0; // // } // // object obj = cmd.ExecuteScalar(); // // bool isHave = false; // // if (obj == null && obj == DBNull.Value) // // { // // isHave = false; // // } // // isHave = Convert.ToInt32(obj) > 0; // // if (myDE.EffentNextType == EffentNextType.WhenHaveContine && !isHave) // // { // // trans.Rollback(); // // return 0; // // } // // if (myDE.EffentNextType == EffentNextType.WhenNoHaveContine && isHave) // // { // // trans.Rollback(); // // return 0; // // } // // continue; // // } // // int val = cmd.ExecuteNonQuery(); // // count += val; // // if (myDE.EffentNextType == EffentNextType.ExcuteEffectRows && val == 0) // // { // // trans.Rollback(); // // return 0; // // } // // cmd.Parameters.Clear(); // // } // // trans.Commit(); // // return count; // // } // // catch // // { // // trans.Rollback(); // // throw; // // } // // } // // } // //} // /// // /// 执行多条SQL语句,实现数据库事务。 // /// // /// SQL语句的哈希表(key为sql语句,value是该语句的SqlParameter[]) // //public static void ExecuteSqlTranWithIndentity(System.Collections.Generic.List SQLStringList) // //{ // // using (SqlConnection conn = new SqlConnection(connectionString)) // // { // // conn.Open(); // // using (SqlTransaction trans = conn.BeginTransaction()) // // { // // SqlCommand cmd = new SqlCommand(); // // try // // { // // int indentity = 0; // // //循环 // // foreach (CommandInfo myDE in SQLStringList) // // { // // string cmdText = myDE.CommandText; // // SqlParameter[] cmdParms = (SqlParameter[])myDE.Parameters; // // foreach (SqlParameter q in cmdParms) // // { // // if (q.Direction == ParameterDirection.InputOutput) // // { // // q.Value = indentity; // // } // // } // // PrepareCommand(cmd, conn, trans, cmdText, cmdParms); // // int val = cmd.ExecuteNonQuery(); // // foreach (SqlParameter q in cmdParms) // // { // // if (q.Direction == ParameterDirection.Output) // // { // // indentity = Convert.ToInt32(q.Value); // // } // // } // // cmd.Parameters.Clear(); // // } // // trans.Commit(); // // } // // catch // // { // // trans.Rollback(); // // throw; // // } // // } // // } // //} // /// // /// 执行多条SQL语句,实现数据库事务。 // /// // /// SQL语句的哈希表(key为sql语句,value是该语句的SqlParameter[]) // public static void ExecuteSqlTranWithIndentity(Hashtable SQLStringList) // { // using (SqlConnection conn = new SqlConnection(connectionString)) // { // conn.Open(); // using (SqlTransaction trans = conn.BeginTransaction()) // { // SqlCommand cmd = new SqlCommand(); // try // { // int indentity = 0; // //循环 // foreach (DictionaryEntry myDE in SQLStringList) // { // string cmdText = myDE.Key.ToString(); // SqlParameter[] cmdParms = (SqlParameter[])myDE.Value; // foreach (SqlParameter q in cmdParms) // { // if (q.Direction == ParameterDirection.InputOutput) // { // q.Value = indentity; // } // } // PrepareCommand(cmd, conn, trans, cmdText, cmdParms); // int val = cmd.ExecuteNonQuery(); // foreach (SqlParameter q in cmdParms) // { // if (q.Direction == ParameterDirection.Output) // { // indentity = Convert.ToInt32(q.Value); // } // } // cmd.Parameters.Clear(); // } // trans.Commit(); // } // catch // { // trans.Rollback(); // throw; // } // } // } // } // /// // /// 执行一条计算查询结果语句,返回查询结果(object)。 // /// // /// 计算查询结果语句 // /// 查询结果(object) // public static object GetSingle(string SQLString, params SqlParameter[] cmdParms) // { // using (SqlConnection connection = new SqlConnection(connectionString)) // { // using (SqlCommand cmd = new SqlCommand()) // { // try // { // PrepareCommand(cmd, connection, null, SQLString, cmdParms); // object obj = cmd.ExecuteScalar(); // cmd.Parameters.Clear(); // if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value))) // { // return null; // } // else // { // return obj; // } // } // catch (System.Data.SqlClient.SqlException e) // { // //throw e; // return null; // } // } // } // } // /// // /// 执行查询语句,返回SqlDataReader ( 注意:调用该方法后,一定要对SqlDataReader进行Close ) // /// // /// 查询语句 // /// SqlDataReader // public static SqlDataReader ExecuteReader(string SQLString, params SqlParameter[] cmdParms) // { // SqlConnection connection = new SqlConnection(connectionString); // SqlCommand cmd = new SqlCommand(); // try // { // PrepareCommand(cmd, connection, null, SQLString, cmdParms); // SqlDataReader myReader = cmd.ExecuteReader(CommandBehavior.CloseConnection); // cmd.Parameters.Clear(); // return myReader; // } // catch (System.Data.SqlClient.SqlException e) // { // throw e; // } // } // /// // /// 执行查询语句,返回DataSet // /// // /// 查询语句 // /// DataSet // public static DataSet Query(string SQLString, params SqlParameter[] cmdParms) // { // using (SqlConnection connection = new SqlConnection(connectionString)) // { // SqlCommand cmd = new SqlCommand(); // PrepareCommand(cmd, connection, null, SQLString, cmdParms); // using (SqlDataAdapter da = new SqlDataAdapter(cmd)) // { // DataSet ds = new DataSet(); // try // { // da.Fill(ds, "ds"); // cmd.Parameters.Clear(); // } // catch (System.Data.SqlClient.SqlException ex) // { // throw new Exception(ex.Message); // } // return ds; // } // } // } // private static void PrepareCommand(SqlCommand cmd, SqlConnection conn, SqlTransaction trans, string cmdText, SqlParameter[] cmdParms) // { // if (conn.State != ConnectionState.Open) // conn.Open(); // cmd.Connection = conn; // cmd.CommandText = cmdText; // if (trans != null) // cmd.Transaction = trans; // cmd.CommandType = CommandType.Text;//cmdType; // if (cmdParms != null) // { // foreach (SqlParameter parameter in cmdParms) // { // if ((parameter.Direction == ParameterDirection.InputOutput || parameter.Direction == ParameterDirection.Input) && // (parameter.Value == null)) // { // parameter.Value = DBNull.Value; // } // cmd.Parameters.Add(parameter); // } // } // } // #endregion // #region 存储过程操作 // /// // /// 执行存储过程,返回SqlDataReader ( 注意:调用该方法后,一定要对SqlDataReader进行Close ) // /// // /// 存储过程名 // /// 存储过程参数 // /// SqlDataReader // public static SqlDataReader RunProcedure(string storedProcName, IDataParameter[] parameters) // { // SqlConnection connection = new SqlConnection(connectionString); // SqlDataReader returnReader; // connection.Open(); // SqlCommand command = BuildQueryCommand(connection, storedProcName, parameters); // command.CommandType = CommandType.StoredProcedure; // returnReader = command.ExecuteReader(CommandBehavior.CloseConnection); // return returnReader; // } // /// // /// 执行存储过程 // /// // /// 存储过程名 // /// 存储过程参数 // /// DataSet结果中的表名 // /// DataSet // public static DataSet RunProcedure(string storedProcName, IDataParameter[] parameters, string tableName) // { // using (SqlConnection connection = new SqlConnection(connectionString)) // { // DataSet dataSet = new DataSet(); // connection.Open(); // SqlDataAdapter sqlDA = new SqlDataAdapter(); // sqlDA.SelectCommand = BuildQueryCommand(connection, storedProcName, parameters); // sqlDA.Fill(dataSet, tableName); // connection.Close(); // return dataSet; // } // } // public static DataSet RunProcedure(string storedProcName, IDataParameter[] parameters, string tableName, int Times) // { // using (SqlConnection connection = new SqlConnection(connectionString)) // { // DataSet dataSet = new DataSet(); // connection.Open(); // SqlDataAdapter sqlDA = new SqlDataAdapter(); // sqlDA.SelectCommand = BuildQueryCommand(connection, storedProcName, parameters); // sqlDA.SelectCommand.CommandTimeout = Times; // sqlDA.Fill(dataSet, tableName); // connection.Close(); // return dataSet; // } // } // /// // /// 构建 SqlCommand 对象(用来返回一个结果集,而不是一个整数值) // /// // /// 数据库连接 // /// 存储过程名 // /// 存储过程参数 // /// SqlCommand // private static SqlCommand BuildQueryCommand(SqlConnection connection, string storedProcName, IDataParameter[] parameters) // { // SqlCommand command = new SqlCommand(storedProcName, connection); // command.CommandType = CommandType.StoredProcedure; // foreach (SqlParameter parameter in parameters) // { // if (parameter != null) // { // // 检查未分配值的输出参数,将其分配以DBNull.Value. // if ((parameter.Direction == ParameterDirection.InputOutput || parameter.Direction == ParameterDirection.Input) && // (parameter.Value == null)) // { // parameter.Value = DBNull.Value; // } // command.Parameters.Add(parameter); // } // } // return command; // } // /// // /// 执行存储过程,返回影响的行数 // /// // /// 存储过程名 // /// 存储过程参数 // /// 影响的行数 // /// // public static int RunProcedure(string storedProcName, IDataParameter[] parameters, out int rowsAffected) // { // using (SqlConnection connection = new SqlConnection(connectionString)) // { // int result; // connection.Open(); // SqlCommand command = BuildIntCommand(connection, storedProcName, parameters); // rowsAffected = command.ExecuteNonQuery(); // result = (int)command.Parameters["ReturnValue"].Value; // //Connection.Close(); // return result; // } // } // /// // /// 创建 SqlCommand 对象实例(用来返回一个整数值) // /// // /// 存储过程名 // /// 存储过程参数 // /// SqlCommand 对象实例 // private static SqlCommand BuildIntCommand(SqlConnection connection, string storedProcName, IDataParameter[] parameters) // { // SqlCommand command = BuildQueryCommand(connection, storedProcName, parameters); // command.Parameters.Add(new SqlParameter("ReturnValue", // SqlDbType.Int, 4, ParameterDirection.ReturnValue, // false, 0, 0, string.Empty, DataRowVersion.Default, null)); // return command; // } // #endregion //} }