|
|
|
|
|
|
|
数据库通用连接类
|
using System; using System.Data ; using System.Data.SqlClient ; using System.Data.SqlTypes ; using System.Windows.Forms ; using System.Collections; namespace Database { /// <summary> /// Database 的摘要说明。 /// </summary> public class Database { /// <summary> /// 属性 /// </summary> // public DataSet dataSet // { // get // { // return m_DataSet; // } // // } public Database() { // // TODO: 在此处添加构造函数逻辑 // XMLRead ConStr=new XMLRead(); if (ConStr.ReadAllConnectNode()) { constr= ConStr.connstring ; // try // { // // Open(); // } // catch(Exception Ex) // { // MessageBox.Show("数据库连接错误"+Ex.ToString () ); // // }
} else { constr="-1"; //throw new SqlErrorCollection();
}
} // public bool Open() // { // // mcn.ConnectionString = constr; // try // { // mcn.Open(); // // } // catch( Exception) // { // return false; // } // return true; // } /// <summary> /// 默认获取DataSet /// </summary> /// <param name="pMyTableName"></param> /// <param name="tmpMyComputerName"></param> /// <returns></returns> // public virtual int getData (string pMyTableName ,string tmpMyComputerName) // { // return -1; // // } #region ExecuteNonQuery
/// <summary> /// 执行一个SQL Command(使用ConnectString) /// </summary> /// <param name="connString">ConnectString(Sql连接字符串)</param> /// <param name="cmdType">Command类型</param> /// <param name="cmdText">Command的语句(SQL语句)</param> /// <param name="cmdParms">Command的参数(SqlParameter[]数组类型)</param> /// <returns>Command的返回值(受影响的行数)</returns>
public int ExecuteNonQuery(string connString, CommandType cmdType, string cmdText, params SqlParameter[] cmdParms) { SqlCommand cmd = new SqlCommand();
using (SqlConnection conn = new SqlConnection(connString)) { PrepareCommand(cmd, conn, null, cmdType, cmdText, cmdParms); int val = cmd.ExecuteNonQuery(); cmd.Parameters.Clear(); return val; } } /// <summary> /// 执行一个SQL Command(使用隐含的ConnectString) /// </summary> /// <param name="cmdType">Command类型</param> /// <param name="cmdText">Command的语句(SQL语句)</param> /// <param name="cmdParms">Command的参数(SqlParameter[]数组类型)</param> /// <returns>Command的返回值(受影响的行数)</returns> public int ExecuteNonQuery(CommandType cmdType, string cmdText, params SqlParameter[] cmdParms) { SqlCommand cmd = new SqlCommand();
using (SqlConnection conn = new SqlConnection(constr)) { PrepareCommand(cmd, conn, null, cmdType, cmdText, cmdParms); int val = cmd.ExecuteNonQuery(); cmd.Parameters.Clear(); return val; } }
// public static int ExecuteNonQuery(string cmdText) // { // }
/// <summary> /// 执行一个简单的查询, 只需要输入SQL语句, 一般用于更新或者删除 /// </summary> /// <param name="sqlText"></param> /// <returns></returns> public int ExecuteNonQuery(string sqlText) { return ExecuteNonQuery(CommandType.Text,sqlText); }
/// <summary> /// 执行一个SQL Command(使用SqlTransaction) /// </summary> /// <param name="trans">使用的SqlTransaction</param> /// <param name="cmdType">Command类型</param> /// <param name="cmdText">Command的语句(SQL语句)</param> /// <param name="cmdParms">Command的参数(SqlParameter[]数组类型)</param> /// <returns>Command的返回值(受影响的行数)</returns> public int ExecuteNonQuery(SqlTransaction trans, CommandType cmdType,string cmdText, params SqlParameter[] cmdParms) { SqlCommand cmd = new SqlCommand(); PrepareCommand(cmd, trans.Connection, trans, cmdType, cmdText, cmdParms); int val = cmd.ExecuteNonQuery(); cmd.Parameters.Clear(); return val; }
/// <summary> /// 根据指定DsCommandType类型,自动生成cmd执行dataset的更新 /// </summary> /// <param name="connString">ConnectString(Sql连接字符串)</param> /// <param name="cmdType">Command类型</param> /// <param name="dsCommandType">Enum类型</param> /// <param name="cmdText">Command的语句(SQL语句)</param> /// <param name="dataset">dataset</param> /// <param name="tablename">表名</param> /// <param name="cmdParms">Command的参数(SqlParameter[]数组类型)</param> /// <returns>是否更新成功</returns> public bool ExecuteNonQuery(string connString,CommandType cmdType,CommandEnum.DsCommandType dsCommandType,string cmdText,DataSet dataset,string tablename,params SqlParameter[] cmdParms) { SqlDataAdapter dsCommand = new SqlDataAdapter(); SqlCommand cmd = new SqlCommand(); using (SqlConnection conn = new SqlConnection(connString)) { if (conn.State != ConnectionState.Open) conn.Open();
cmd.Connection = conn; cmd.CommandText = cmdText; cmd.CommandType = cmdType; if (cmdParms != null) { foreach (SqlParameter parm in cmdParms) cmd.Parameters.Add(parm); } switch(dsCommandType) { case CommandEnum.DsCommandType.InsertCommand: dsCommand.InsertCommand = cmd; break; case CommandEnum.DsCommandType.UpdateCommand: dsCommand.UpdateCommand = cmd; break; case CommandEnum.DsCommandType.DeleteCommand: dsCommand.DeleteCommand = cmd; break; default:break; } dsCommand.Update(dataset,tablename); if ( dataset.HasErrors ) { dataset.Tables[tablename].GetErrors()[0].ClearErrors(); return false; } else { dataset.AcceptChanges(); return true; } }
} /// <summary> /// 更新一个记录集(使用connString) /// </summary> /// <param name="connString">ConnectString(Sql连接字符串)</param> /// <param name="cmdInsertType">commandInsert类型</param> /// <param name="cmdInsertText">SQL语句(Insert)</param> /// <param name="cmdUpdateType">commandUpdate类型</param> /// <param name="cmdUpdateText">SQL语句(Update)</param> /// <param name="cmdInsertType">commandDelete类型</param> /// <param name="cmdDeleteText">SQL语句(Delete)</param> /// <param name="cmdInsertParms">InsertCommand参数</param> /// <param name="cmdUpdateParms">UpdateCommand参数</param> /// <param name="cmdDeleteParms">DeleteCommand参数</param> /// <param name="dataset">dataset</param> /// <param name="tablename">表名</param> /// <returns>是否更新成功</returns> public bool UpdateDataset(string connString,CommandType cmdInsertType,string cmdInsertText,CommandType cmdUpdateType,string cmdUpdateText,CommandType cmdDeleteType,string cmdDeleteText,SqlParameter[] cmdInsertParms,SqlParameter[] cmdUpdateParms,SqlParameter[] cmdDeleteParms,DataSet dataset,string tablename) { SqlDataAdapter dsCommand = new SqlDataAdapter(); using (SqlConnection conn = new SqlConnection(connString)) { if (conn.State != ConnectionState.Open) conn.Open(); if(cmdInsertText != String.Empty) { SqlCommand cmdInsert = new SqlCommand(); cmdInsert.Connection = conn; cmdInsert.CommandText = cmdInsertText; cmdInsert.CommandType = cmdInsertType; if (cmdInsertParms != null) { foreach (SqlParameter parm in cmdInsertParms) cmdInsert.Parameters.Add(parm); } dsCommand.InsertCommand = cmdInsert; } if(cmdUpdateText != String.Empty) { SqlCommand cmdUpdate = new SqlCommand(); cmdUpdate.Connection = conn; cmdUpdate.CommandText = cmdUpdateText; cmdUpdate.CommandType = cmdUpdateType; if (cmdUpdateParms != null) { foreach (SqlParameter parm in cmdUpdateParms) cmdUpdate.Parameters.Add(parm); } dsCommand.Upd |
|
|
|