public class SqlHelper { //数据库连接词 private static string constr = System.Configuration.ConfigurationManager.ConnectionStrings["constr"].ToString(); /// /// SQL语句 无参查询 /// /// select 语句 /// 返回SqlDataReader public static SqlDataReader Query(string sql) { SqlConnection conn = new SqlConnection(constr); try { if (conn.State != ConnectionState.Open) conn.Open(); SqlCommand cmd = new SqlCommand(sql, conn); return cmd.ExecuteReader(CommandBehavior.CloseConnection); } catch { if(conn.State==ConnectionState.Open) { conn.Close(); } throw; } } /// /// SQL语句 有参查询 /// /// select 语句 /// SQL参数 /// 返回SqlDataReader public static SqlDataReader Query(string sql, SqlParameter[] para) { SqlConnection conn = new SqlConnection(constr); try { if (conn.State != ConnectionState.Open) conn.Open(); SqlCommand cmd = new SqlCommand(sql, conn); cmd.Parameters.AddRange(para); return cmd.ExecuteReader(CommandBehavior.CloseConnection); } catch { if(conn.State==ConnectionState.Open) { conn.Close(); } throw; } } /// /// SQL语句 单一结果的无参查询 /// /// select 语句 /// 返回 object public static object QueryScalar(string sql) { using (SqlConnection conn = new SqlConnection(constr)) { if (conn.State != ConnectionState.Open) conn.Open(); SqlCommand cmd = new SqlCommand(sql, conn); return cmd.ExecuteScalar(); } } /// /// SQL语句 单一结果的有参查询 /// /// select 语句 /// SQL参数 /// 返回 object public static object QueryScalar(string sql,SqlParameter[] para) { using (SqlConnection conn = new SqlConnection(constr)) { if (conn.State != ConnectionState.Open) conn.Open(); SqlCommand cmd = new SqlCommand(sql, conn); cmd.Parameters.AddRange(para); return cmd.ExecuteScalar(); } } /// /// SQL语句 无参增,删,改 /// /// insert,update,delete语句 /// 返回影响的行数 public static int NonQuery(string sql) { SqlConnection conn = new SqlConnection(constr); SqlTransaction tran = null; try { conn.Open(); tran = conn.BeginTransaction(); SqlCommand cmd = new SqlCommand(sql, conn); cmd.Transaction = tran; int i = cmd.ExecuteNonQuery(); tran.Commit(); return i; } catch { if (tran != null) tran.Rollback(); throw; } finally { if (conn.State == ConnectionState.Open) conn.Close(); } } /// /// SQL语句 有参增,删,改 /// /// insert,update,delete语句 /// SQL参数 /// 返回影响的行数 public static int NonQuery(string sql,SqlParameter[] para) { SqlConnection conn = new SqlConnection(constr); SqlTransaction tran = null; try { conn.Open(); tran = conn.BeginTransaction(); SqlCommand cmd = new SqlCommand(sql, conn); cmd.Parameters.AddRange(para); cmd.Transaction = tran; int i = cmd.ExecuteNonQuery(); tran.Commit(); return i; } catch (Exception e) { if (tran != null) tran.Rollback(); throw; } finally { if (conn.State == ConnectionState.Open) conn.Close(); } } }