数据库连接类
#endregion #region 通用存储过程 /// <summary> /// 执行存储过程 /// </summary> /// <param name="storedProcName">存储过程名</param> /// <param name="parameters">存储过程参数</param> /// <param name="tableName">DataSet结果中的表名</param> /// <returns>DataSet</returns> public static DataSet RunProcedure(string storedProcName, IDataParameter[] parameters, string tableName) { using (SqlConnection connection = new SqlConnection(M_str_sqlcon)) { DataSet dataSet = new DataSet(); connection.Open(); SqlDataAdapter sqlDA = new SqlDataAdapter(); sqlDA.SelectCommand = BuildQueryCommand(connection, storedProcName, parameters); mandTimeout = 60000; //超时设置 sqlDA.Fill(dataSet, tableName); connection.Close(); return dataSet; } } #endregion #region 存储过程参数转换 /// <summary> /// 构建 SqlCommand 对象(用来返回一个结果集,而不是一个整数 值) /// </summary> /// <param name="connection">数据库连接</param> /// <param name="storedProcName">存储过程名</param>
#region 建立数据库连接 /// <summary> /// 建立数据库连接. /// </summary> /// <returns>返回SqlConnection对象</returns> public static SqlConnection getcon() { try { My_con = new SqlConnection(M_str_sqlcon); //用SqlConnection 对象与指定的数据库相连接 My_con.Open(); //打开数据库连接 } catch (Exception ex) { MessageBox.Show("数据库链接错误!请检查链接或呼叫管理 员!" + ex.ToString()); } return My_con; //返回SqlConnection对象的信息 //Console.WriteLine("数据库正常关闭"); } #endregion #region 打开数据库链接 /// <summary> /// 测试数据库是否赋加 /// </summary> public void con_open() { getcon(); //con_close(); } #endregion
#region 关闭数据库连接 /// <summary> /// 关闭于数据库的连接. /// </summary> public void con_close() { if (My_con.State == ConnectionState.Open) //判断是否打开与数据 库的连接 { My_con.Close(); //关闭数据库的连接 My_con.Dispose(); //释放My_con变量的所有空间 } } #endregion #region 获取DataReader类型数据 /// <summary> /// 获取DataReader类型数据 /// </summary> /// <param name="SQLstr">SQL语句</param> /// <returns>返回DataReader型</returns> public SqlDataReader getDataReader(string SQLstr) { getcon(); //打开与数据库的连接 SqlCommand SQLcom = new SqlCommand(SQLstr, My_con); //创建一 个SqlCommand对象,用于执行SQL语句 SqlDataReader My_read = SQLcom.ExecuteReader(); //执行SQL语名 句,生成一个SqlDataReader对象 return My_read; } #endregion #region 执行SqlCommand命令 /// <summary> /// 执行SqlCommand
return command; } #endregion } }
/// </summary> /// <param name="M_str_sqlstr">SQL语句</param> public void getsqlcom(string SQLstr) { getcon(); //打开与数据库的连接 SqlCommand SQLcom = new SqlCommand(SQLstr, My_con); //创建一 个SqlCommand对象,用于执行SQL语句 SQLcom.ExecuteNonQuery(); //执行SQL语句 SQLcom.Dispose(); //释放所有空间 con_close(); //调用con_close()方法,关闭与数据库的连接 } #endregion #region 通过DataSet数据集获取数据 /// <summary> /// 创建一个DataSet对象 /// </summary> /// <param name="M_str_sqlstr">SQL语句</param> /// <param name="M_str_table">表名</param> /// <returns>返回DataSet对象</returns> public DataSet getDataSet(string SQLstr, string tableName) { getcon(); //打开与数据库的连接 SqlDataAdapter SQLda = new SqlDataAdapter(SQLstr, My_con); //创 建一个SqlDataAdapter对象,并获取指定数据表的信息 mandTimeout = 1800; //设置为半个小 时,超时则报错 DataSet My_DataSet = new DataSet(); //创建DataSet对象 SQLda.Fill(My_DataSet, tableName); //通过SqlDataAdapter对象的 Fill()方法,将数据表信息添加到DataSet对象中 con_close(); //关闭数据库的连接 return My_DataSet; //返回DataSet对象的信息 //WritePrivateProfileString(string section, string key, string val, string filePath); }
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data.SqlClient; using System.Windows.Forms; using System.Data; namespace EquipmentMS.BaseClass { class ConnectionClass { public ConnectionClass() { GetConnectionStr(); } #region 全局变量 public static string Mean_SQL = "", Mean_Table = "", Mean_Field = ""; //定义全局变量,记录“基础信息”各窗体中的表名及SQL语句 public static SqlConnection My_con; //定义一个SqlConnection类型的 公共变量My_con,用于判断数据库是否连接成功 public static string M_str_sqlcon = ""; #endregion #region 读取INI配置文件 public void GetConnectionStr() { BaseClass.GetINIFileClass iniFile = new BaseClass.GetINIFileClass(); string server = iniFile.getINIFileValue("Connect_zb", "Data Source"); string dbname = iniFile.getINIFileValue("Connect_zb", "DataBase"); M_str_sqlcon = "server=" + server + ";database=" + dbname + ";user=;password="; } #endregion