1 //=========================== 2 //SqlHelper V1.0 3 //日期:2013-05-14 4 //作者:PENNY 5 //=========================== 6 7 using System; 8 using System.Collections.Generic; 9 using System.Linq; 10 using System.Text; 11 using System.Data; 12 using System.Threading.Tasks; 13 14 using System.Configuration; 15 using System.Data.Common; 16 using System.Data.SqlClient; 17 18 using System.Security.Cryptography; 19 20 namespace PennyLibrary 21 { 22 class SqlHelper 23 { 24 //配置文件解密后的数据库连接字符串 25 private static String DB_CONN_STRING = GetConnectionString(); 26 27 //密钥 28 private const string KEY = "TEST"; 29 private const int DBCOMMAND_TIMEOUT = 180; 30 31 32 #region "BasicProcess" 33 //从配置文件中得到并解密数据库连接字符串 34 private static String GetConnectionString() 35 { 36 String connectionString; 37 try 38 { 39 connectionString = Decrypt(ConfigurationManager.ConnectionStrings["DBConnectionString"].ConnectionString, KEY); 40 } 41 catch (Exception e) 42 { 43 throw new Exception("连接数据库失败", e); 44 } 45 return connectionString; 46 } 47 48 #endregion 49 50 //============================ 51 //调用例子 52 //SqlHelper.ExecuteNoQuery("INSERT INTO TB_USER (Name,Age) VALUES ('PENNY',36)"); 53 //带参数 54 //DataTable dt = SqlHelper.ExecuteDataTable("SELECT * FROM TB_USER WHERE Name = @name OR Age = @age", 55 // new SqlParameter ("@name","PENNY"), 56 // new SqlParameter ("@age",35)) 57 //============================ 58 59 #region "ExecuteNoQuery" 60 61 public static int ExecuteNoQuery(string strSQL , params SqlParameter [] parameters) 62 { 63 using (SqlConnection conn = new SqlConnection(DB_CONN_STRING)) 64 { 65 conn.Open(); 66 67 using (SqlCommand cmd = conn.CreateCommand()) 68 { 69 cmd.CommandTimeout = DBCOMMAND_TIMEOUT; 70 cmd.CommandText = strSQL; 71 cmd.Parameters.AddRange(parameters); 72 return cmd.ExecuteNonQuery(); 73 } 74 } 75 } 76 77 78 #endregion 79 80 #region "ExecuteScalar" 81 82 public static object ExecuteScalar(string strSQL, params SqlParameter[] parameters) 83 { 84 using (SqlConnection conn = new SqlConnection(DB_CONN_STRING)) 85 { 86 conn.Open(); 87 88 using (SqlCommand cmd = conn.CreateCommand()) 89 { 90 cmd.CommandTimeout = DBCOMMAND_TIMEOUT; 91 cmd.CommandText = strSQL; 92 cmd.Parameters.AddRange(parameters); 93 return cmd.ExecuteScalar(); 94 } 95 } 96 } 97 #endregion 98 99 #region "ExecuteReader" 100 public static SqlDataReader ExecuteReader(string strSQL, params SqlParameter[] parameters) 101 { 102 using (SqlConnection conn = new SqlConnection(DB_CONN_STRING)) 103 { 104 conn.Open(); 105 106 using (SqlCommand cmd = conn.CreateCommand()) 107 { 108 cmd.CommandTimeout = DBCOMMAND_TIMEOUT; 109 cmd.CommandText = strSQL; 110 cmd.Parameters.AddRange(parameters); 111 return cmd.ExecuteReader(); 112 } 113 } 114 } 115 116 #endregion 117 118 #region "ExecuteDataset" 119 public static DataSet ExecuteDataset(string strSQL, params SqlParameter[] parameters) 120 { 121 using (SqlConnection conn = new SqlConnection(DB_CONN_STRING)) 122 { 123 conn.Open(); 124 125 using (SqlCommand cmd = conn.CreateCommand()) 126 { 127 cmd.CommandTimeout = DBCOMMAND_TIMEOUT; 128 cmd.CommandText = strSQL; 129 cmd.Parameters.AddRange(parameters); 130 SqlDataAdapter da = new SqlDataAdapter(cmd); 131 132 DataSet ds = new DataSet(); 133 da.Fill(ds); 134 return ds; 135 136 } 137 } 138 } 139 140 #endregion 141 142 #region "ExecuteDataTable" 143 144 public static DataTable ExecuteDataTable(string strSQL, params SqlParameter[] parameters) 145 { 146 using (SqlConnection conn = new SqlConnection(DB_CONN_STRING)) 147 { 148 conn.Open(); 149 150 using (SqlCommand cmd = conn.CreateCommand()) 151 { 152 cmd.CommandTimeout = DBCOMMAND_TIMEOUT; 153 cmd.CommandText = strSQL; 154 cmd.Parameters.AddRange(parameters); 155 SqlDataAdapter da = new SqlDataAdapter(cmd); 156 DataSet ds = new DataSet (); 157 da.Fill(ds); 158 159 return ds.Tables[0]; 160 } 161 } 162 } 163 164 #endregion 165 166 167 #region "ExecuteNoQueryProc" 168 public static int ExecuteNoQueryProc(string strProcName, params SqlParameter[] parameters) 169 { 170 using (SqlConnection conn = new SqlConnection(DB_CONN_STRING)) 171 { 172 conn.Open(); 173 174 using (SqlCommand cmd = conn.CreateCommand()) 175 { 176 cmd.CommandTimeout = DBCOMMAND_TIMEOUT; 177 cmd.CommandType = CommandType.StoredProcedure;//指定执行存储过程操作 178 cmd.CommandText = strProcName;//存储过程名称 179 cmd.Parameters.AddRange(parameters); 180 return cmd.ExecuteNonQuery(); 181 } 182 } 183 } 184 185 #endregion 186 187 #region "ExecuteDatasetProc" 188 public static DataSet ExecuteDatasetProc(string strProcName, params SqlParameter[] parameters) 189 { 190 using (SqlConnection conn = new SqlConnection(DB_CONN_STRING)) 191 { 192 conn.Open(); 193 194 using (SqlCommand cmd = conn.CreateCommand()) 195 { 196 cmd.CommandTimeout = DBCOMMAND_TIMEOUT; 197 cmd.CommandType = CommandType.StoredProcedure;//指定执行存储过程操作 198 cmd.CommandText = strProcName;//存储过程名称 199 cmd.Parameters.AddRange(parameters); 200 SqlDataAdapter da = new SqlDataAdapter(cmd); 201 202 DataSet ds = new DataSet(); 203 da.Fill(ds); 204 return ds; 205 206 } 207 } 208 } 209 #endregion 210 211 #region "ExecuteDataTableProc" 212 public static DataTable ExecuteDataTable(string strProcName, params SqlParameter[] parameters) 213 { 214 using (SqlConnection conn = new SqlConnection(DB_CONN_STRING)) 215 { 216 conn.Open(); 217 218 using (SqlCommand cmd = conn.CreateCommand()) 219 { 220 cmd.CommandTimeout = DBCOMMAND_TIMEOUT; 221 cmd.CommandType = CommandType.StoredProcedure;//指定执行存储过程操作 222 cmd.CommandText = strProcName;//存储过程名称 223 cmd.Parameters.AddRange(parameters); 224 SqlDataAdapter da = new SqlDataAdapter(cmd); 225 DataSet ds = new DataSet(); 226 da.Fill(ds); 227 228 return ds.Tables[0]; 229 } 230 } 231 } 232 #endregion 233 234 300 } 301 }
浙公网安备 33010602011771号