SqlHelper

  1 public class SqlHelper
  2     {
  3         /// <summary>
  4         /// 连接字符串
  5         /// </summary>
  6         public static string connStr { get; set; } = ConfigurationManager.ConnectionStrings[1].ConnectionString;
  7  
  8         /// <summary>
  9         /// 执行非查询操作
 10         /// </summary>
 11         /// <param name="sql">Sql语句</param>
 12         /// <param name="ps">参数</param>
 13         /// <returns>返回受影响的行数</returns>
 14         public static int ExecuteNonQuery(string sql, params SqlParameter[] ps)
 15         {
 16  
 17             //创建连接对象
 18             using (SqlConnection conn = new SqlConnection(connStr))
 19             {
 20                 //创建执行对象
 21                 using (SqlCommand cmd = new SqlCommand(sql, conn))
 22                 {
 23                     //添加参数
 24                     cmd.Parameters.AddRange(ps);
 25                     //打开连接
 26                     conn.Open();
 27                     //开始执行
 28                     return cmd.ExecuteNonQuery();
 29                 }
 30             }
 31  
 32         }
 33         /// <summary>
 34         /// 执行存储过程
 35         /// </summary>
 36         /// <param name="sql">存储过程名字</param>
 37         /// <param name="ps">参数</param>
 38         /// <returns>返回受影响的行数</returns>
 39         public static int ExecuteNonQueryProc(string sql, params SqlParameter[] ps)
 40         {
 41  
 42             //创建连接对象
 43             using (SqlConnection conn = new SqlConnection(connStr))
 44             {
 45                 //创建执行对象
 46                 using (SqlCommand cmd = new SqlCommand(sql, conn))
 47                 {
 48                     cmd.CommandType = CommandType.StoredProcedure;
 49                     //添加参数
 50                     cmd.Parameters.AddRange(ps);
 51                     //打开连接
 52                     conn.Open();
 53                     //开始执行
 54                     return cmd.ExecuteNonQuery();
 55                 }
 56             }
 57  
 58         }
 59  
 60         /// <summary>
 61         /// 执行查询操作,一般配合聚合函数使用
 62         /// </summary>
 63         /// <param name="sql">sql语句</param>
 64         /// <param name="ps">参数</param>
 65         /// <returns>返回第一行第一列的结果,如果没有查询到返回null</returns>
 66         public static object ExecuteScalar(string sql, params SqlParameter[] ps)
 67         {
 68             //创建连接对象
 69             using (SqlConnection conn = new SqlConnection(connStr))
 70             {
 71                 //创建执行对象
 72                 using (SqlCommand cmd = new SqlCommand(sql, conn))
 73                 {
 74                     //添加参数
 75                     cmd.Parameters.AddRange(ps);
 76                     //打开连接
 77                     conn.Open();
 78                     //开始执行
 79                     return cmd.ExecuteScalar();
 80                 }
 81             }
 82         }
 83         /// <summary>
 84         /// 执行存储过程
 85         /// </summary>
 86         /// <param name="sql">存储过程名字</param>
 87         /// <param name="ps">参数</param>
 88         /// <returns>返回第一行第一列的结果,如果没有查询到返回null</returns>
 89         public static object ExecuteScalarProc(string sql, params SqlParameter[] ps)
 90         {
 91             //创建连接对象
 92             using (SqlConnection conn = new SqlConnection(connStr))
 93             {
 94                 //创建执行对象
 95                 using (SqlCommand cmd = new SqlCommand(sql, conn))
 96                 {
 97                     cmd.CommandType = CommandType.StoredProcedure;
 98                     //添加参数
 99                     cmd.Parameters.AddRange(ps);
100                     //打开连接
101                     conn.Open();
102                     //开始执行
103                     return cmd.ExecuteScalar();
104                 }
105             }
106         }
107  
108         /// <summary>
109         /// 执行一条查询语句
110         /// </summary>
111         /// <param name="sql">sql语句</param>
112         /// <param name="ps">参数</param>
113         /// <returns>返回一个只进只读的读取器对象,使用该读取器对象的Read方法读取下一行数据,当Read方法返回false时:表示已无更多数据</returns>
114         public static SqlDataReader ExecuteReader(string sql, params SqlParameter[] ps)
115         {
116             //创建连接对象
117             SqlConnection conn = new SqlConnection(connStr);
118             try
119             {
120                 //创建执行对象
121                 using (SqlCommand cmd = new SqlCommand(sql, conn))
122                 {
123                     //添加参数
124                     cmd.Parameters.AddRange(ps);
125                     //打开连接
126                     conn.Open();
127                     //开始执行 
128                     //外部DataReader对象关闭时 连接对象也关闭
129                     return cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
130                 }
131             }
132             catch (Exception ex)
133             {
134                 conn.Dispose();
135                 throw ex;
136             }
137         }
138         /// <summary>
139         /// 执行存储过程
140         /// </summary>
141         /// <param name="sql">存储过程名字</param>
142         /// <param name="ps">参数</param>
143         /// <returns></returns>
144         public static SqlDataReader ExecuteReaderProc(string sql, params SqlParameter[] ps)
145         {
146             //创建连接对象
147             SqlConnection conn = new SqlConnection(connStr);
148             try
149             {
150                 //创建执行对象
151                 using (SqlCommand cmd = new SqlCommand(sql, conn))
152                 {
153                     cmd.CommandType = CommandType.StoredProcedure;
154                     //添加参数
155                     cmd.Parameters.AddRange(ps);
156                     //打开连接
157                     conn.Open();
158                     //开始执行 
159                     //外部DataReader对象关闭时 连接对象也关闭
160                     return cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
161                 }
162             }
163             catch (Exception ex)
164             {
165                 conn.Dispose();
166                 throw ex;
167             }
168         }
169  
170         /// <summary>
171         /// 执行一条sql语句,将数据填充到一个数据库对象
172         /// </summary>
173         /// <param name="sql">sql语句</param>
174         /// <param name="ps">参数</param>
175         /// <returns>返回数据库对象</returns>
176         public static DataSet GetDataSet(string sql, params SqlParameter[] ps)
177         {
178             DataSet ds = new DataSet();
179             using (SqlDataAdapter sda = new SqlDataAdapter(sql, connStr))
180             {
181                 sda.SelectCommand.Parameters.AddRange(ps);
182                 sda.Fill(ds);
183             }
184             return ds;
185         }
186         /// <summary>
187         /// 执行一条sql语句,将数据填充到一个数据表对象
188         /// </summary>
189         /// <param name="sql">sql语句</param>
190         /// <param name="ps">参数</param>
191         /// <returns>返回数据表对象</returns>
192         public static DataTable GetDataTable(string sql, params SqlParameter[] ps)
193         {
194             DataTable dt = new DataTable();
195             using (SqlDataAdapter sda = new SqlDataAdapter(sql, connStr))
196             {
197                 sda.SelectCommand.Parameters.AddRange(ps);
198                 sda.Fill(dt);
199             }
200             return dt;
201         }
202  
203     }

 

posted @ 2016-01-17 11:57  KotobukiTsumugi  阅读(147)  评论(0)    收藏  举报