ASP.NET常用的SqlDbHelper类

请引用

using System.Data;
using System.Data.SqlClient;

两个命名空间。

可以满足常用的数据集,读取多条数据,以及增删改操作

代码:

  1 /// <summary>
  2 /// DBHelper 的摘要说明
  3 /// </summary>
  4 public class SqlDbHelper
  5 {
  6     /// <summary>
  7     /// Contacts数据库的连接字符串
  8     /// </summary>
  9     public static readonly string connString = ConfigurationManager.ConnectionStrings["ContactsConnStr"].ConnectionString;
 10     /// <summary>
 11     /// 返回数据集以及他们的重载
 12     /// </summary>
 13     /// <param name="commandText"></param>
 14     /// <param name="commandType"></param>
 15     /// <param name="parameters"></param>
 16     /// <returns></returns>
 17     public static DataTable ExecuteDataTable(string commandText, CommandType commandType, SqlParameter[] parameters)
 18     {
 19         DataTable data = new DataTable();//实例化 DataTable,用于装载查询结果集
 20         using (SqlConnection connection = new SqlConnection(connString))
 21         {
 22             using (SqlCommand command = new SqlCommand(commandText, connection))
 23             {
 24                 //设置 command 的 CommandType 为指定的 CommandType
 25                 command.CommandType = commandType;
 26                 //如果同时传入了参数,则添加这些参数
 27                 if (parameters != null)
 28                 {
 29                     foreach (SqlParameter parameter in parameters)
 30                     {
 31                         command.Parameters.Add(parameter);
 32                     }
 33                 }
 34                 //通过包含查询 SQL 的 SqlCommand 实例来实例化 SqlDataAdapter
 35                 SqlDataAdapter adapter = new SqlDataAdapter(command);
 36                 adapter.Fill(data);//填充 DataTable
 37             }
 38         }
 39         return data;
 40     }
 41     public static DataTable ExecuteDataTable(string commandText)
 42     {
 43         return ExecuteDataTable(commandText, CommandType.Text, null);
 44     }
 45     public static DataTable ExecuteDataTable(string commandText, CommandType commandType)
 46     {
 47         return ExecuteDataTable(commandText, commandType, null);
 48     }
 49     /// <summary>
 50     /// SqlDataReader 获取多条语句以及重载
 51     /// </summary>
 52     /// <param name="commandText"></param>
 53     /// <param name="commandType"></param>
 54     /// <param name="parameters"></param>
 55     /// <returns></returns>
 56     public static SqlDataReader ExecuteReader(string commandText, CommandType commandType, SqlParameter[] parameters)
 57     {
 58         SqlConnection connection = new SqlConnection(connString);
 59         SqlCommand command = new SqlCommand(commandText, connection);
 60         //设置 command 的 CommandType 为指定的 CommandType
 61         command.CommandType = commandType;
 62         //如果同时传入了参数,则添加这些参数
 63         if (parameters != null)
 64         {
 65             foreach (SqlParameter parameter in parameters)
 66             {
 67                 command.Parameters.Add(parameter);
 68             }
 69         }
 70         connection.Open();
 71         //CommandBehavior.CloseConnection 参数指示关闭 Reader 对象时
 72         //关闭与其关联的 Connection 对象
 73         return command.ExecuteReader(CommandBehavior.CloseConnection);
 74     }
 75     public static SqlDataReader ExecuteReader(string commandText)
 76     {
 77         return ExecuteReader(commandText, CommandType.Text, null);
 78     }
 79     public static SqlDataReader ExecuteReader(string commandText, CommandType
 80     commandType)
 81     {
 82         return ExecuteReader(commandText, commandType, null);
 83     }
 84     /// <summary>
 85     /// 检索单个值的 ExecuteScalar 方法以及重载
 86     /// </summary>
 87     /// <param name="commandText"></param>
 88     /// <param name="commandType"></param>
 89     /// <param name="parameters"></param>
 90     /// <returns></returns>
 91     public static Object ExecuteScalar(string commandText, CommandType commandType, SqlParameter[] parameters)
 92     {
 93         object result = null;
 94         using (SqlConnection connection = new SqlConnection(connString))
 95         {
 96             using (SqlCommand command = new SqlCommand(commandText, connection))
 97             {
 98                 //设置 command 的 CommandType 为指定的 CommandType
 99                 command.CommandType = commandType;
100                 //如果同时传入了参数,则添加这些参数
101                 if (parameters != null)
102                 {
103                     foreach (SqlParameter parameter in parameters)
104                     {
105                         command.Parameters.Add(parameter);
106                     }
107                 }
108                 connection.Open();//打开数据库连接
109                 result = command.ExecuteScalar();
110             }
111         }
112         return result;//返回查询结果的第一行第一列,忽略其它行和列
113     }
114     public static Object ExecuteScalar(string commandText)
115     {
116         return ExecuteScalar(commandText, CommandType.Text, null);
117     }
118     public static Object ExecuteScalar(string commandText, CommandType commandType)
119     {
120         return ExecuteScalar(commandText, commandType, null);
121     }
122     /// <summary>
123     /// 增删改操作的 ExecuteNonQuery 方法
124     /// </summary>
125     /// <param name="commandText"></param>
126     /// <param name="commandType"></param>
127     /// <param name="parameters"></param>
128     /// <returns></returns>
129     public static int ExecuteNonQuery(string commandText, CommandType commandType,SqlParameter[] parameters)
130     {
131         int count = 0;
132         using (SqlConnection connection = new SqlConnection(connString))
133         {
134             using (SqlCommand command = new SqlCommand(commandText, connection))
135             {
136                 //设置 command 的 CommandType 为指定的 CommandType
137                 command.CommandType = commandType;
138                 //如果同时传入了参数,则添加这些参数
139                 if (parameters != null)
140                 {
141                     foreach (SqlParameter parameter in parameters)
142                     {
143                         command.Parameters.Add(parameter);
144                     }
145                 }
146                 connection.Open();//打开数据库连接
147                 count = command.ExecuteNonQuery();
148             }
149         }
150         return count;//返回执行增删改操作之后,数据库中受影响的行数
151     }
152     public static int ExecuteNonQuery(string commandText)
153     {
154         return ExecuteNonQuery(commandText, CommandType.Text, null);
155     }
156     public static int ExecuteNonQuery(string commandText, CommandType commandType)
157     {
158         return ExecuteNonQuery(commandText, commandType, null);
159     }
160 }

后期再补充。。

转载于:https://www.cnblogs.com/fanling521/p/5363323.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值