软件编程
位置:首页>> 软件编程>> C#编程>> C#的通用DbHelper类(支持数据连接池)示例详解

C#的通用DbHelper类(支持数据连接池)示例详解

作者:已秃未强  发布时间:2022-01-14 11:59:56 

标签:C#,DbHelper,类

每次新项目的时候,都要从头去找一遍数据库工具类。这里分享一个简单实用的C#的通用DbHelper工具类,支持数据连接池。

连接池配置

<connectionStrings>
<add name="dh_web" connectionString="Data Source=xxx.com;Initial Catalog=xx_db;User ID=xx;Password=**;
pooling=true;max pool size=200" providerName="System.Data.SqlClient"/>
</connectionStrings>

DbHelper类

public class DBHelper
   {
       private static string connectionString = ConfigurationManager.ConnectionStrings["dh_web"].ConnectionString;

//不带参数的执行命令
       public static int ExecuteCommand(string safeSql)
       {
           using (SqlConnection connection = new SqlConnection(connectionString))
           {
               connection.Open();
               SqlCommand cmd = new SqlCommand(safeSql, connection);
               return cmd.ExecuteNonQuery();
           }
       }
       //带参数的执行命令
       public static int ExecuteCommand(string sql, params SqlParameter[] values)
               SqlCommand cmd = new SqlCommand(sql, connection);
               cmd.Parameters.AddRange(values);

public static int GetScalar(string safeSql)
               return Convert.ToInt32(cmd.ExecuteScalar());
       public static int GetScalar(string sql, params SqlParameter[] values)
       public static SqlDataReader GetReader(string safeSql)
           SqlConnection connection = new SqlConnection(connectionString);
           connection.Open();
           SqlCommand cmd = new SqlCommand(safeSql, connection);
           return cmd.ExecuteReader(CommandBehavior.CloseConnection);
       public static SqlDataReader GetReader(string sql, params SqlParameter[] values)
           SqlCommand cmd = new SqlCommand(sql, connection);
           cmd.Parameters.AddRange(values);
       public static DataTable GetDataSet(string safeSql)
               DataSet ds = new DataSet();
               SqlDataAdapter da = new SqlDataAdapter(cmd);
               da.Fill(ds);
               return ds.Tables[0];
       public static DataTable GetDataSet(string sql, params SqlParameter[] values)
           {              
   }

注意:
CommandBehavior.CloseConnection解决了流读取数据模式下,数据库连接不能有效关闭的情况.
当某个XXXDataReader对象在生成时使用了CommandBehavior.CloseConnection,那数据库连接将在XXXDataReader对象关闭时自动关闭.

来源:https://www.cnblogs.com/equals/p/16075980.html

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com