SqlHelper V1.0
  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 }

 

posted on 2013-05-14 00:34  WhiteSnake  阅读(240)  评论(0)    收藏  举报