当前位置: 首页 > 编程语言 > C#

C#封装DBHelper类分享

时间:2023-04-11 01:14:39 C#

DBHelper从字面上理解为“数据库助手类”。由于持久层需要和数据库进行交互,会反复加载驱动、填写数据库连接信息、Establish(acquire)数据库连接和关闭数据库,所以代码中出现了很多冗余代码,所以把这些需要执行的重复代码提取出来就成了一个DBHelper,一个简单的DBHelper提供了最基本的数据库初始化Connection,driver提供了连接数据库的API和关闭数据库的API。通常的做法是将这些API静态化,使用时直接通过class.API调用。这大大简化了代码的编写,提高了代码的可维护性,也有利于数据库和驱动的更换。详细代码:usingSystem;使用System.Collections.Generic;使用系统数据;使用System.Data.SqlClient;使用System.Linq;使用系统文本;使用System.Threading.Tasks;namespaceWindowsFormsApplication1{classDBHelper{//SQL连接字符串-SQL身份验证方法登录publicstaticstringconnStr="server=.;database=DBTEST;uid=sa;pwd=123456;";//SQL连接字符串-Windows身份验证方法登录//公共静态字符串connStr="IntegratedSecurity=SSPI;PersistSecurityInfo=False;InitialCatalog=DBTEST;DataSource=.";//读取配置文件appSettings节点读取字符串(需要添加对System.Configuration的引用)//对应的配置文件如下:////////读取配置文件ConnectionStrings节点读取字符串(需要添加对System.Configuration)//publicstaticstringconnStr=ConfigurationManager.ConnectionStrings["DefaultConn"].ConnectionString;//对应配置文件如下://////publicstaticSqlConnectionconn=null;公共静态SqlDataAdapteradp=null;#region连接数据库///

///连接数据库///publicstaticvoidOpenConn(){if(conn==null){conn=newSqlConnection(connStr);conn.Open();}if(conn.State==System.Data.ConnectionState.Closed){conn.Open();}如果(conn.State==System.Data.ConnectionState.Broken){conn.Close();conn.Open();}}#endregion#region执行SQL语句前准备//////准备执行一条SQL语句//////要执行的SQL语句publicstaticvoidPrepareSql(stringsql){OpenConn();//打开数据库连接adp=newSqlDataAdapter(sql,conn);}#endregion#region设置和获取sql语句的参数//////设置传入参数//////参数名///参数值publicstaticvoidSetParameter(stringparameterName,objectparameterValue){parameterName="@"+parameterName.Trim();if(parameterValue==null)parameterValue=DBNull.Value;adp.SelectCommand.Parameters.Add(newSqlParameter(参数名,参数值));}#endregion#region执行SQL语句//////执行非查询SQL语句//////受影响的行数publicstaticintExecNonQuery(){int结果=adp.SelectCommand.ExecuteNonQuery();conn.Close();返回结果;}//////执行查询SQL语句//////DataTable类型查询结果publicstaticDataTableExecQuery(){DataTabledt=newDataTable();adp.Fill(dt);conn.Close();返回数据;}//////执行查询SQL语句//////SqlDataReader类型查询结果,需要手动关闭SqlDataReaderpublicstaticSqlDataReaderExecDataReader(){返回adp.SelectCommand.ExecuteReader(CommandBehavior.CloseConnection);}//////执行查询SQL语句//////查询结果的第一行第一列publicstaticobjectExecScalar(){objectobj=adp.SelectCommand.ExecuteScalar();conn.Close();返回对象;}#endregion}}C#封装DBHelper类的文章到此结束。希望对大家的学习有所帮助,也希望大家多多支持。以上就是C#学习教程:C#封装了DBHelper类共享的所有内容。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: