数据库连接类
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
#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); sqlDA.SelectCommand.CommandTimeout = 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> 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
wk.baidu.com
return command; } #endregion } }
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
/// <param name="parameters">存储过程参数</param> /// <returns>SqlCommand</returns> 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); } }
#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
/// </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对象,并获取指定数据表的信息 SQLda.SelectCommand.CommandTimeout = 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); }