码迷,mamicode.com
首页 > 数据库 > 详细

SQLHelper——一个自定义SQL帮助器

时间:2015-10-30 18:59:23      阅读:335      评论:0      收藏:0      [点我收藏+]

标签:

  1 using System;
  2 using System.Collections.Generic;
  3 using System.Linq;
  4 using System.Text;
  5 using System.Configuration;
  6 using System.Data.SqlClient;
  7 using System.Data;
  8 
  9 /// <summary>
 10 /// 名称:
 11 ///     自定义SQL帮助器
 12 /// 摘要:
 13 ///     提供简化sql操作的一些基本方法
 14 /// </summary>
 15 public class SQLHelper
 16 {
 17     public SQLHelper()
 18     {
 19         //
 20         // TODO: 在此处添加构造函数逻辑
 21         //
 22     }
 23 
 24     /*
 25      * 方法封装原则:把不变的操作放到方法里,把变化的操作放到参数中
 26      */
 27 
 28     //摘要:
 29     //    设置sql连接字符串
 30     private static string connStr = ConfigurationManager.ConnectionStrings["dbConnectionString"].ConnectionString;
 31 
 32     //摘要:
 33     //    无参增、删、改
 34     //输入:
 35     //    无参sql语句(支持:insert、delete、update)    
 36     //输出:
 37     //    受影响的行数
 38     public static int doNonQuery(string sql)
 39     {
 40         using (SqlConnection sqlConn = new SqlConnection(connStr))
 41         {
 42             sqlConn.Open();
 43             using (SqlCommand sqlCmd = sqlConn.CreateCommand())
 44             {
 45                 sqlCmd.CommandText = sql;
 46 
 47                 int rowsAffectedCount = sqlCmd.ExecuteNonQuery();
 48                 sqlConn.Close();
 49 
 50                 return rowsAffectedCount;
 51             }
 52         }
 53     }
 54 
 55     //摘要:
 56     //    有参增、删、改,使用List<SqlParameter>参数
 57     //输入:
 58     //    1.有参数的sql语句(支持:insert、delete、update)
 59     //    2.List形式的sql参数(参数个数可变)
 60     //输出:
 61     //    受影响的行数
 62     public static int doNonQuery(string sql, List<SqlParameter> parameters)
 63     {
 64         using (SqlConnection sqlConn = new SqlConnection(connStr))
 65         {
 66             sqlConn.Open();
 67             using (SqlCommand sqlCmd = sqlConn.CreateCommand())
 68             {
 69                 //准备sql(带@位置参数)
 70                 sqlCmd.CommandText = sql;
 71                 //foreach (SqlParameter param in parameters)
 72                 //{
 73                 //    sqlCmd.Parameters.Add(param);
 74                 //}
 75                 //装载sql参数
 76                 sqlCmd.Parameters.AddRange(parameters.ToArray());
 77 
 78                 int rowsAffectedCount = sqlCmd.ExecuteNonQuery();
 79                 sqlConn.Close();
 80 
 81                 return rowsAffectedCount;
 82             }
 83         }
 84     }
 85 
 86     //摘要:
 87     //    有参增、删、改,使用params SqlParameter[]可变参数
 88     //输入:
 89     //    1.有参数的sql语句(支持:insert、delete、update)
 90     //    2.sql参数数组(参数个数可变)
 91     //输出:
 92     //    受影响的行数
 93     public static int doNonQuery(string sql, params SqlParameter[] parameters)
 94     {
 95         using (SqlConnection sqlConn = new SqlConnection(connStr))
 96         {
 97             sqlConn.Open();
 98             using (SqlCommand sqlCmd = sqlConn.CreateCommand())
 99             {
100                 //准备sql(带@位置参数)
101                 sqlCmd.CommandText = sql;
102                 //foreach (SqlParameter param in parameters)
103                 //{
104                 //    sqlCmd.Parameters.Add(param);
105                 //}
106                 //装载sql可变参数
107                 sqlCmd.Parameters.AddRange(parameters);
108 
109                 int rowsAffectedCount = sqlCmd.ExecuteNonQuery();
110                 sqlConn.Close();
111 
112                 return rowsAffectedCount;
113             }
114         }
115     }
116 
117     //摘要:
118     //    无参取单行单列对象
119     //输入:
120     //    无参数的sql语句(支持:insert、select)
121     //输出:
122     //    带输出参数的insert语句执行成功后或select语句执行成功后其所得结果集的第一行第一列
123     public static object doScalar(string sql)
124     {
125         using (SqlConnection sqlConn = new SqlConnection(connStr))
126         {
127             sqlConn.Open();
128             using (SqlCommand sqlCmd = sqlConn.CreateCommand())
129             {
130                 sqlCmd.CommandText = sql;
131 
132                 object scalarObj = sqlCmd.ExecuteScalar();
133                 sqlConn.Close();
134 
135                 return scalarObj;
136             }
137         }
138     }
139 
140     //摘要:
141     //    有参取单行单列对象,使用List<SqlParameter>参数
142     //输入:
143     //    1.带参数的sql语句(支持:insert、select)
144     //    2.List形式的sql参数(参数个数可变)
145     //输出:
146     //    带输出参数的insert语句执行成功后或select语句执行成功后其所得结果集的第一行第一列
147     public static object doScalar(string sql, List<SqlParameter> parameters)
148     {
149         using (SqlConnection sqlConn = new SqlConnection(connStr))
150         {
151             sqlConn.Open();
152             using (SqlCommand sqlCmd = sqlConn.CreateCommand())
153             {
154                 sqlCmd.CommandText = sql;
155                 sqlCmd.Parameters.AddRange(parameters.ToArray());
156 
157                 object scalarObj = sqlCmd.ExecuteScalar();
158                 sqlConn.Close();
159 
160                 return scalarObj;
161             }
162         }
163     }
164 
165     //摘要:
166     //    有参取单行单列对象,使用params SqlParameter[]可变参数
167     //输入:
168     //    1.有参数的sql语句(支持:insert、select)
169     //    2.sql参数数组(参数个数可变)
170     //输出:
171     //    带输出参数的insert语句执行成功后或select语句执行成功后其所得结果集的第一行第一列
172     public static object doScalar(string sql, params SqlParameter[] parameters)
173     {
174         using (SqlConnection sqlConn = new SqlConnection(connStr))
175         {
176             sqlConn.Open();
177             using (SqlCommand sqlCmd = sqlConn.CreateCommand())
178             {
179                 sqlCmd.CommandText = sql;
180                 sqlCmd.Parameters.AddRange(parameters);
181 
182                 object scalarObj = sqlCmd.ExecuteScalar();
183                 sqlConn.Close();
184 
185                 return scalarObj;
186             }
187         }
188     }
189 
190     //摘要:
191     //    无参取DataTable对象
192     //输入:
193     //    无参数的sql语句(支持:select)
194     //输出:
195     //    DataTable对象,其为select语句执行成功后其所得结果集
196     public static DataTable doDataTable(string sql)
197     {
198         using (SqlConnection sqlConn = new SqlConnection(connStr))
199         {
200             sqlConn.Open();
201             using (SqlCommand sqlCmd = sqlConn.CreateCommand())
202             {
203                 sqlCmd.CommandText = sql;
204                 SqlDataAdapter adapter = new SqlDataAdapter(sqlCmd);
205                 DataSet dataSet = new DataSet();
206                 adapter.Fill(dataSet);
207 
208                 DataTable dataTable = new DataTable();
209                 dataTable = dataSet.Tables[0];
210                 sqlConn.Close();
211 
212                 return dataTable;
213             }
214         }
215     }
216 
217     //摘要:
218     //    有参取DataTable对象,使用List<SqlParameter>参数
219     //输入:
220     //    1.有参数的sql语句(支持:select)
221     //    2.List形式的sql参数(参数个数可变)
222     //输出:
223     //    DataTable对象,其为select语句执行成功后其所得结果集
224     public static DataTable doDataTable(string sql, List<SqlParameter> parameters)
225     {
226         using (SqlConnection sqlConn = new SqlConnection(connStr))
227         {
228             sqlConn.Open();
229             using (SqlCommand sqlCmd = sqlConn.CreateCommand())
230             {
231                 sqlCmd.CommandText = sql;
232                 sqlCmd.Parameters.AddRange(parameters.ToArray());
233 
234                 SqlDataAdapter adapter = new SqlDataAdapter(sqlCmd);
235                 DataSet dataSet = new DataSet();
236                 adapter.Fill(dataSet);
237 
238                 DataTable dataTable = new DataTable();
239                 dataTable = dataSet.Tables[0];
240                 sqlConn.Close();
241 
242                 return dataTable;
243             }
244         }
245     }
246 
247     //摘要:
248     //    有参取DataTable对象,使用params SqlParameter[]可变参数
249     //输入:
250     //    1.有参数的sql语句(支持:select)
251     //    2.sql参数数组(参数个数可变)
252     //输出:
253     //    DataTable对象,其为select语句执行成功后其所得结果集
254     public static DataTable doDataTable(string sql, params SqlParameter[] parameters)
255     {
256         using (SqlConnection sqlConn = new SqlConnection(connStr))
257         {
258             sqlConn.Open();
259             using (SqlCommand sqlCmd = sqlConn.CreateCommand())
260             {
261                 sqlCmd.CommandText = sql;
262                 sqlCmd.Parameters.AddRange(parameters);
263 
264                 SqlDataAdapter adapter = new SqlDataAdapter(sqlCmd);
265                 DataSet dataSet = new DataSet();
266                 adapter.Fill(dataSet);
267 
268                 DataTable dataTable = new DataTable();
269                 dataTable = dataSet.Tables[0];
270                 sqlConn.Close();
271 
272                 return dataTable;
273             }
274         }
275     }
276 }

 

SQLHelper——一个自定义SQL帮助器

标签:

原文地址:http://www.cnblogs.com/ArisLoong/p/4923797.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!