您目前尚未登陆,请选择【登陆】或【注册
首页->其他源码->人才网初学者工具包源码>>App-Code/DAL/DBAccess.cs>>代码在线查看
温馨提示:代码在线浏览功能只能做为源码浏览参考,不能展示项目的全部,如果想更进一步了解该代码请下载:人才网初学者工具包源码


当前文件路径:JobSiteStarterKit/App_Code/DAL/DBAccess.cs 文件类型
普通视图
		            
1using System; 2using System.Data; 3using System.Data.SqlClient; 4using System.Configuration; 5//该源码下载自www.51aspx.com(51aspx.com) 6 7namespace JobSiteStarterKit.DAL 8{ 9 /// <summary> 10 /// 数据访问层,主要用于简化ADO.NET 与数据库的操作细节。 11 /// </summary> 12 public class DBAccess:IDisposable 13 { 14 private IDbCommand cmd=new SqlCommand(); 15 private string strConnectionString=""; 16 private bool handleErrors=false; 17 private string strLastError=""; 18 19 /// <summary> 20 /// 构造函数,从Web.Config中读取ConnectionString节的内容。 21 /// </summary> 22 public DBAccess() 23 { 24 ConnectionStringSettings objConnectionStringSettings = ConfigurationManager.ConnectionStrings["connectionstring"]; 25 strConnectionString = objConnectionStringSettings.ConnectionString; 26 SqlConnection cnn=new SqlConnection(); 27 cnn.ConnectionString=strConnectionString; 28 cmd.Connection=cnn; 29 //默认情况下,将CommandType设为使用存储过程进行更新 30 cmd.CommandType = CommandType.StoredProcedure; 31 } 32 /// <summary> 33 /// 返回一个IDataReader接口,简化定义DBAccess的ExecuteReader 34 /// </summary> 35 /// <returns></returns> 36 public IDataReader ExecuteReader() 37 { 38 IDataReader reader=null; 39 try 40 { 41 //打开数据库连接 42 this.Open(); 43 //执行完关闭毕连接 44 reader = cmd.ExecuteReader(CommandBehavior.CloseConnection); 45 } 46 catch (Exception ex) 47 { 48 if (handleErrors) 49 strLastError = ex.Message; 50 else 51 throw; 52 } 53 catch 54 { 55 throw; 56 } 57 return reader; 58 } 59 /// <summary> 60 /// 执行commandText字符串指定的Sql语句或存储过程,返回IDataReader 61 /// </summary> 62 /// <param name="commandtext">Sql语句或存储过程</param> 63 /// <returns>实现了IDataReader接口的对象</returns> 64 public IDataReader ExecuteReader(string commandtext) 65 { 66 IDataReader reader=null; 67 try 68 { 69 cmd.CommandText=commandtext; 70 reader=this.ExecuteReader(); 71 } 72 catch(Exception ex) 73 { 74 if(handleErrors) 75 strLastError=ex.Message; 76 else 77 throw; 78 } 79 catch 80 { 81 throw; 82 } 83 84 return reader; 85 } 86 /// <summary> 87 /// 返回结果集中的第一行第一列 88 /// </summary> 89 /// <returns>object类型,需要进行显示转换</returns> 90 public object ExecuteScalar() 91 { 92 object obj=null; 93 try 94 { 95 this.Open(); 96 obj= cmd.ExecuteScalar(); 97 this.Close(); 98 } 99 catch(Exception ex) 100 { 101 if(handleErrors) 102 strLastError=ex.Message; 103 else 104 throw; 105 } 106 catch 107 { 108 throw; 109 } 110 111 return obj; 112 } 113 /// <summary> 114 ///执行commandText字符串指定的Sql语句或存储过程,获取返回结果集中的第一行第一列 115 /// </summary> 116 /// <param name="commandtext">Sql语句或存储过程</param> 117 /// <returns>object类型,需要进行显示转换</returns> 118 public object ExecuteScalar(string commandtext) 119 { 120 object obj=null; 121 try 122 { 123 cmd.CommandText=commandtext; 124 obj= this.ExecuteScalar(); 125 } 126 catch(Exception ex) 127 { 128 if(handleErrors) 129 strLastError=ex.Message; 130 else 131 throw; 132 } 133 catch 134 { 135 throw; 136 } 137 138 return obj; 139 } 140 /// <summary> 141 /// 执行命令,并返回结果所影响的行数 142 /// </summary> 143 /// <returns></returns> 144 public int ExecuteNonQuery() 145 { 146 int i=-1; 147 try 148 { 149 this.Open(); 150 i=cmd.ExecuteNonQuery(); 151 this.Close(); 152 } 153 catch(Exception ex) 154 { 155 if(handleErrors) 156 strLastError=ex.Message; 157 else 158 throw; 159 } 160 catch 161 { 162 throw; 163 } 164 165 return i; 166 } 167 /// <summary> 168 /// 执行commandText字符串指定的Sql语句或存储过程,并返回影响的行数 169 /// </summary> 170 /// <param name="commandtext">Sql语句或存储过程</param> 171 /// <returns>执行Sql语句后所影响的行数</returns> 172 public int ExecuteNonQuery(string commandtext) 173 { 174 int i=-1; 175 try 176 { 177 cmd.CommandText=commandtext; 178 i=this.ExecuteNonQuery(); 179 } 180 catch(Exception ex) 181 { 182 if(handleErrors) 183 strLastError=ex.Message; 184 else 185 throw; 186 } 187 catch 188 { 189 throw; 190 } 191 192 return i; 193 } 194 /// <summary> 195 /// 执行命令,得到一个DataSet 196 /// </summary> 197 /// <returns>一个填充了数据的DataSet</returns> 198 public DataSet ExecuteDataSet() 199 { 200 SqlDataAdapter da=null; 201 DataSet ds=null; 202 try 203 { 204 da=new SqlDataAdapter(); 205 da.SelectCommand=(SqlCommand)cmd; 206 ds=new DataSet(); 207 da.Fill(ds); 208 } 209 catch(Exception ex) 210 { 211 if(handleErrors) 212 strLastError=ex.Message; 213 else 214 throw; 215 } 216 catch 217 { 218 throw; 219 } 220 221 return ds; 222 } 223 /// <summary> 224 /// 执行commandText字符串指定的Sql语句或存储过程,返回一个DataSet 225 /// </summary> 226 /// <param name="commandtext">Sql语句或存储过程</param> 227 /// <returns>一个填充了数据的DataSet</returns> 228 public DataSet ExecuteDataSet(string commandtext) 229 { 230 DataSet ds=null; 231 try 232 { 233 cmd.CommandText=commandtext; 234 ds=this.ExecuteDataSet(); 235 } 236 catch(Exception ex) 237 { 238 if(handleErrors) 239 strLastError=ex.Message; 240 else 241 throw; 242 } 243 catch 244 { 245 throw; 246 } 247 248 return ds; 249 } 250 /// <summary> 251 ///获取或设置CommandText的值 252 /// </summary> 253 public string CommandText 254 { 255 get 256 { 257 return cmd.CommandText; 258 } 259 set 260 { 261 cmd.CommandText=value; 262 cmd.Parameters.Clear(); 263 } 264 } 265 /// <summary> 266 /// 返回一个IDataParameterCollection的只读属性 267 /// </summary> 268 public IDataParameterCollection Parameters 269 { 270 get 271 { 272 return cmd.Parameters; 273 } 274 } 275 /// <summary> 276 /// 添加参数到参数集合 277 /// </summary> 278 /// <param name="paramname">参数名称</param> 279 /// <param name="paramvalue">参数值</param> 280 public void AddParameter(string paramname,object paramvalue) 281 { 282 SqlParameter param=new SqlParameter(paramname,paramvalue); 283 cmd.Parameters.Add(param); 284 } 285 /// <summary> 286 /// 直接天加一个IDataParameter类型的对象到参数集合。 287 /// </summary> 288 /// <param name="param"></param> 289 public void AddParameter(IDataParameter param) 290 { 291 cmd.Parameters.Add(param); 292 } 293