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 }