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

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

每次新项目的时候,都要从头去找一遍数据库工具类。这里分享一个简单实用的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

标签:C#,DbHelper,类
0
投稿

猜你喜欢

  • 解决Android ListView数据为空及加载错误的方法

    2022-11-30 06:57:41
  • Android编程实现点击EditText之外的控件隐藏软键盘功能

    2022-08-07 02:06:08
  • Flutter app页面路由以及路由拦截的实现

    2023-06-23 14:21:18
  • SpringBoot文件上传控制及Java 获取和判断文件头信息

    2021-12-10 16:47:20
  • Java Validation方法入参校验实现过程解析

    2021-08-04 03:31:50
  • Groovy的规则脚本引擎实例解读

    2023-07-11 21:24:04
  • FastJSON字段智能匹配踩坑的解决

    2022-07-29 19:32:26
  • SpringBoot如何根据用户系统时区动态展示时间

    2021-09-23 23:37:10
  • java实现的RSA加密算法详解

    2022-11-19 06:14:44
  • 学习Java九大内置对象

    2023-10-13 01:10:10
  • Java程序控制逻辑—流程控制

    2023-08-28 01:51:18
  • C#实现跨线程操作控件方法

    2023-06-30 13:47:39
  • SpringCloud灾难性雪崩效应处理方法之降级实现流程详解

    2022-03-24 15:31:36
  • 用C#生成不重复的随机数的代码

    2023-03-08 03:36:52
  • Java语言描述MD5加密工具类实例代码

    2021-09-18 07:07:34
  • maven profile实现多环境配置的示例

    2023-09-24 12:02:57
  • IntelliJ IDEA 2019.1.1 for MAC 下载和注册码激活教程图解

    2023-07-23 08:01:50
  • android编程实现对话框的封装实例

    2022-02-12 12:58:54
  • Java jpa外连接查询join案例详解

    2022-12-17 18:31:15
  • Windows系统中使用C#编写蓝牙通信程序的简单实例

    2022-03-02 00:12:10
  • asp之家 软件编程 m.aspxhome.com