1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Data.SqlClient; 6 using System.Data; 7 using System.Configuration; 8 9 namespace ClassLibrary 10 { 11 /// <summary> 12 /// SqlDBHelper帮助类 13 /// </summary> 14 public class SqlDBHelper 15 { 16 public static SqlConnection connection; 17 public static SqlConnection Connection 18 { 19 get 20 { 21 string connectionString = ConfigurationManager.ConnectionStrings["mybookshop"].ConnectionString; 22 if (connection == null) 23 { 24 connection = new SqlConnection(connectionString); 25 connection.Open(); 26 } 27 else if (connection.State == System.Data.ConnectionState.Closed) 28 { 29 connection = new SqlConnection(connectionString); 30 connection.Open(); 31 } 32 else if (connection.State == System.Data.ConnectionState.Broken) 33 { 34 connection.Close(); 35 connection.Open(); 36 } 37 return connection; 38 } 39 } 40 41 /// <summary> 42 /// 单个数据增,删,改 43 /// </summary> 44 /// <param name="safeSql"></param> 45 /// <returns></returns> 46 public static int ExecuteCommand(string safeSql) 47 { 48 try 49 { 50 using (SqlCommand cmd = new SqlCommand(safeSql, Connection)) 51 { 52 int result = cmd.ExecuteNonQuery(); 53 return result; 54 } 55 } 56 catch (SqlException ex) 57 { 58 throw ex; 59 } 60 } 61 62 /// <summary> 63 /// 带多个参数的增,删,改 64 /// </summary> 65 /// <param name="safeSql"></param> 66 /// <param name="values"></param> 67 /// <returns></returns> 68 public static int ExecuteCommand(string safeSql, params SqlParameter[] values) 69 { 70 try 71 { 72 using (SqlCommand cmd = new SqlCommand(safeSql, Connection)) 73 { 74 cmd.Parameters.AddRange(values); 75 return cmd.ExecuteNonQuery(); 76 } 77 } 78 catch (SqlException ex) 79 { 80 throw ex; 81 } 82 } 83 84 /// <summary> 85 /// 带多个参数的增,删,改 86 /// </summary> 87 /// <param name="safeSql"></param> 88 /// <param name="values"></param> 89 /// <returns></returns> 90 public static int ExecuteCommand(string safeSql, CommandType type, params SqlParameter[] values) 91 { 92 try 93 { 94 using (SqlCommand cmd = new SqlCommand(safeSql, Connection)) 95 { 96 cmd.CommandType = type; 97 cmd.Parameters.AddRange(values); 98 cmd.ExecuteNonQuery(); 99 return cmd.ExecuteNonQuery(); 100 } 101 } 102 catch (SqlException ex) 103 { 104 throw ex; 105 } 106 } 107 108 /// <summary> 109 /// 带多个参数的增,删,改 110 /// </summary> 111 /// <param name="safeSql"></param> 112 /// <param name="values"></param> 113 /// <returns></returns> 114 public static int ExecuteCommand(string safeSql, CommandType type, int index) 115 { 116 try 117 { 118 using (SqlCommand cmd = new SqlCommand(safeSql, Connection)) 119 { 120 cmd.CommandType = type; 121 SqlParameter paramOne = new SqlParameter("@rid", SqlDbType.Int); 122 paramOne.Value = index; 123 cmd.Parameters.Add(paramOne); 124 return cmd.ExecuteNonQuery(); 125 } 126 } 127 catch (SqlException ex) 128 { 129 throw ex; 130 } 131 } 132 133 /// <summary> 134 /// 查单个值 135 /// </summary> 136 /// <param name="safeSql"></param> 137 /// <returns></returns> 138 public static int GetScalar(string safeSql) 139 { 140 try 141 { 142 using (SqlCommand cmd = new SqlCommand(safeSql, Connection)) 143 { 144 int result = Convert.ToInt32(cmd.ExecuteScalar()); 145 return result; 146 } 147 } 148 catch (SqlException ex) 149 { 150 throw ex; 151 } 152 } 153 154 /// <summary> 155 /// 带参数的查询语句 156 /// </summary> 157 /// <param name="sql"></param> 158 /// <param name="values"></param> 159 /// <returns></returns> 160 public static int GetScalar(string sql, params SqlParameter[] values) 161 { 162 try 163 { 164 using (SqlCommand cmd = new SqlCommand(sql, Connection)) 165 { 166 cmd.Parameters.AddRange(values); 167 int result = Convert.ToInt32(cmd.ExecuteScalar()); 168 return result; 169 } 170 } 171 catch (SqlException ex) 172 { 173 throw ex; 174 } 175 } 176 177 /// <summary> 178 /// 带执行类型的ExecuteScalar 179 /// </summary> 180 /// <param name="sql"></param> 181 /// <param name="type"></param> 182 /// <param name="values"></param> 183 /// <returns></returns> 184 public static int GetScalar(string sql, CommandType type, params SqlParameter[] values) 185 { 186 try 187 { 188 using (SqlCommand cmd = new SqlCommand(sql, Connection)) 189 { 190 cmd.CommandType = type; 191 cmd.Parameters.AddRange(values); 192 int result = Convert.ToInt32(cmd.ExecuteScalar()); 193 return result; 194 } 195 } 196 catch (SqlException ex) 197 { 198 throw ex; 199 } 200 } 201 202 /// <summary> 203 /// 查询表,获取多个记录 204 /// </summary> 205 /// <param name="safeSql"></param> 206 /// <returns></returns> 207 public static SqlDataReader GetReader(string safeSql) 208 { 209 try 210 { 211 using (SqlCommand cmd = new SqlCommand(safeSql, Connection)) 212 { 213 SqlDataReader reader = cmd.ExecuteReader(); 214 return reader; 215 } 216 217 } 218 catch (SqlException ex) 219 { 220 throw ex; 221 } 222 } 223 224 /// <summary> 225 /// 带参数的-查询表,获取多个记录 226 /// </summary> 227 /// <param name="sql"></param> 228 /// <param name="values"></param> 229 /// <returns></returns> 230 public static SqlDataReader GetReader(string sql, params SqlParameter[] values) 231 { 232 try 233 { 234 using (SqlCommand cmd = new SqlCommand(sql, Connection)) 235 { 236 cmd.Parameters.AddRange(values); 237 SqlDataReader reader = cmd.ExecuteReader(); 238 return reader; 239 } 240 } 241 catch (SqlException) 242 { 243 throw; 244 } 245 } 246 247 /// <summary> 248 /// 查询表,获取多个记录---语句,类型,参数 249 /// </summary> 250 /// <param name="safeSql"></param> 251 /// <param name="cmdType"></param> 252 /// <param name="values"></param> 253 /// <returns></returns> 254 public static SqlDataReader GetReader(string safeSql, CommandType cmdType, params SqlParameter[] values) 255 { 256 try 257 { 258 using (SqlCommand cmd = new SqlCommand(safeSql, Connection)) 259 { 260 cmd.CommandType = cmdType; 261 cmd.Parameters.AddRange(values); 262 SqlDataReader reader = cmd.ExecuteReader(); 263 return reader; 264 } 265 } 266 catch (SqlException ex) 267 { 268 throw ex; 269 } 270 } 271 272 /// <summary> 273 /// 返回datatable 274 /// </summary> 275 /// <param name="safeSql"></param> 276 /// <returns></returns> 277 public static DataTable GetDataSet(string safeSql) 278 { 279 DataSet ds = new DataSet(); 280 SqlCommand cmd = new SqlCommand(safeSql, Connection); 281 SqlDataAdapter da = new SqlDataAdapter(cmd); 282 da.Fill(ds); 283 return ds.Tables[0]; 284 } 285 286 /// <summary> 287 /// 返回dataTable ,带参数使用 288 /// </summary> 289 /// <param name="sql"></param> 290 /// <param name="values"></param> 291 /// <returns></returns> 292 public static DataTable GetDataSet(string sql, params SqlParameter[] values) 293 { 294 DataSet ds = new DataSet(); 295 SqlCommand cmd = new SqlCommand(sql, Connection); 296 cmd.Parameters.AddRange(values); 297 SqlDataAdapter da = new SqlDataAdapter(cmd); 298 da.Fill(ds); 299 return ds.Tables[0]; 300 } 301 } 302 }