自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

淺談ASP.NET數(shù)據(jù)訪問層

開發(fā) 后端
這里每個(gè)項(xiàng)目都要用到ASP.NET數(shù)據(jù)訪問層,我做的也不例外,但是我把數(shù)據(jù)訪問層做成獨(dú)立項(xiàng)目,沒有什么太大的目的,數(shù)據(jù)訪問層,僅僅做數(shù)據(jù)訪問用,不包含任何邏輯。

如果不使用ASP.NET數(shù)據(jù)訪問層,那么你的代碼里會(huì)出現(xiàn)很多SqlConnection、SqlCommand、SqlDataReader、Open、 Close……這些類和方法,而且代碼量很大,讓你不勝其煩,而且代碼寫起來,其實(shí)都是體力活,沒有技術(shù)含量。

每個(gè)項(xiàng)目都要用到ASP.NET數(shù)據(jù)訪問層,我做的也不例外,但是我把數(shù)據(jù)訪問層做成獨(dú)立項(xiàng)目,沒有什么太大的目的,數(shù)據(jù)訪問層,僅僅做數(shù)據(jù)訪問用,不包含任何邏輯。

以下是自己改進(jìn)的ASP.NET數(shù)據(jù)訪問層,希望能得到更多人更好的改進(jìn)建議,謝謝啦。

  1. usingSystem;  
  2. usingSystem.Data;  
  3. usingSystem.Data.SqlClient;  
  4. usingSystem.Configuration;  
  5. usingSystem.Web;  
  6. usingSystem.Web.Security;  
  7. usingSystem.Web.UI;  
  8. usingSystem.Web.UI.WebControls;  
  9. usingSystem.Web.UI.WebControls.WebParts;  
  10. usingSystem.Web.UI.HtmlControls;  
  11. usingSystem.Text;  
  12. ///<summary> 
  13. ///數(shù)據(jù)訪問層,數(shù)據(jù)庫(kù)操作類  
  14. ///summary> 
  15. publicclassDatabase  
  16. {  
  17. publicstaticstringConnectionStrings=ConfigurationManager.
    ConnectionStrings["ConnectionStrings"].ConnectionString;  
  18. ///<summary> 
  19. ///執(zhí)行帶SqlParameter的sql語句,成功返回true,失敗返回false  
  20. ///summary> 
  21. ///<paramnameparamname="sql">sql語句param> 
  22. ///<paramnameparamname="Param">SqlParameter[]參數(shù)列表param> 
  23. ///<returns>returns> 
  24. publicstaticintExecuteNonQuery(stringsql,paramsSqlParameter[]Param)
  25. //執(zhí)行帶SqlParameter的sql語句,返回影響的行數(shù)  
  26. {  
  27. //HttpContext.Current.Response.Write(sql+"<br>");  
  28. using(SqlConnectionconn=newSqlConnection(ConnectionStrings))  
  29. {  
  30. if(conn.State!=ConnectionState.Open)  
  31. conn.Open();  
  32. SqlTransactionTran=conn.BeginTransaction();//開始事務(wù)  
  33. SqlCommandcmd=newSqlCommand(sql,conn,Tran);  
  34. if(Param!=null)  
  35. cmd.Parameters.AddRange(Param);  
  36. try  
  37. {  
  38. intResult=cmd.ExecuteNonQuery();  
  39. Tran.Commit();  
  40. cmd.Parameters.Clear();  
  41. returnResult;  
  42. }  
  43. catch(Exceptionerr)  
  44. {  
  45. HttpContext.Current.Response.Write(err.Message+"<br>"+err.StackTrace);  
  46. Tran.Rollback();//回滾事務(wù)  
  47. return0;  
  48. }  
  49. }  
  50. }  
  51.  
  52. ///<summary> 
  53. ///執(zhí)行帶SqlParameter的sql,返回DataReader  
  54. ///summary> 
  55. ///<paramnameparamname="sql">sql語句param> 
  56. ///<paramnameparamname="Param">SqlParameter[]參數(shù)列表param> 
  57. ///<returns>返回SqlDataReaderreturns> 
  58. publicstaticSqlDataReaderExecuteReader(stringsql,paramsSqlParameter[]Param)
  59. //執(zhí)行帶SqlParameter的sql,返回DataReader  
  60. {  
  61. SqlConnectionconn=newSqlConnection(ConnectionStrings);  
  62. SqlCommandcmd=newSqlCommand(sql,conn);  
  63. if(Param!=null)  
  64. cmd.Parameters.AddRange(Param);  
  65. if(conn.State!=ConnectionState.Open)  
  66. conn.Open();  
  67.  
  68. try  
  69. {  
  70. SqlDataReaderdr=cmd.ExecuteReader(CommandBehavior.CloseConnection);  
  71. cmd.Parameters.Clear();  
  72. returndr;  
  73. }  
  74. catch(Exceptionerr)  
  75. {  
  76. conn.Close();  
  77. HttpContext.Current.Response.Write(err.Message+"<br>"+err.StackTrace);  
  78. returnnull;  
  79. }  
  80. }  
  81.  
  82. ///<summary> 
  83. ///執(zhí)行帶SqlParameter的sql,返回DataTable  
  84. ///summary> 
  85. ///<paramnameparamname="sql">SQL語句param> 
  86. ///<paramnameparamname="Param">SqlParameter[]參數(shù)列表param> 
  87. publicstaticDataTableGetDataTable(stringsql,paramsSqlParameter[]Param)
  88. //執(zhí)行帶SqlParameter的sql,返回DataTable  
  89. {  
  90. SqlConnectionconn=newSqlConnection(ConnectionStrings);  
  91. DataTabledt=newDataTable();  
  92. SqlDataAdapterda=newSqlDataAdapter(sql,conn);  
  93. if(Param!=null)  
  94. da.SelectCommand.Parameters.AddRange(Param);  
  95. SqlCommandBuildercb=newSqlCommandBuilder(da);  
  96. da.Fill(dt);  
  97. conn.Close();  
  98. //HttpContext.Current.Response.Write(sql+"<br>");  
  99. returndt;  
  100. }  
  101.  
  102. ///<summary> 
  103. ///執(zhí)行帶SqlParameter的sql,返回查詢結(jié)果***行***列的數(shù)據(jù)  
  104. ///summary> 
  105. ///<paramnameparamname="sql">SQL語句param> 
  106. ///<paramnameparamname="Param">SqlParameter[]參數(shù)列表param> 
  107. ///<returns>returns> 
  108. publicstaticObjectExecuteScalar(stringsql,paramsSqlParameter[]Param)
  109. //執(zhí)行帶SqlParameter的sql,返回查詢結(jié)果***行***列的數(shù)據(jù)  
  110. {  
  111. //HttpContext.Current.Response.Write(sql+"<br>");  
  112. using(SqlConnectionconn=newSqlConnection(ConnectionStrings))  
  113. {  
  114. if(conn.State!=ConnectionState.Open)  
  115. conn.Open();  
  116. SqlTransactionTran=conn.BeginTransaction();  
  117. SqlCommandcmd=newSqlCommand(sql,conn,Tran);  
  118. if(Param!=null)  
  119. cmd.Parameters.AddRange(Param);  
  120. try  
  121. {  
  122. objectResult=cmd.ExecuteScalar();  
  123. cmd.Parameters.Clear();  
  124. Tran.Commit();  
  125. returnResult;  
  126. }  
  127. catch(Exceptionerr)  
  128. {  
  129. HttpContext.Current.Response.Write(err.Message+"<br>"+err.StackTrace);  
  130. Tran.Rollback();  
  131. returnnull;  
  132. }  
  133. }  
  134. }  
  135.  
  136. ///<summary> 
  137. ///生成SqlParameter參數(shù)  
  138. ///summary> 
  139. ///<paramnameparamname="ParamName">參數(shù)名param> 
  140. ///<paramnameparamname="paramType">參數(shù)類型param> 
  141. ///<paramnameparamname="ParamValue">參數(shù)的值param> 
  142. publicstaticSqlParameterGetParameter
    (stringParamName,SqlDbTypeparamType,ObjectParamValue)
  143. //生成SqlParameter參數(shù)  
  144. {  
  145. SqlParameterparam=newSqlParameter(ParamName,paramType);  
  146. param.Value=ParamValue;  
  147. returnparam;  
  148. }  

【編輯推薦】

  1. C#局部類型介紹
  2. C#固定指針簡(jiǎn)單介紹
  3. 淺析C# FTP WebRequest對(duì)象
  4. C#分部方法的應(yīng)用場(chǎng)景
  5. 簡(jiǎn)單介紹VB.NET和C#
責(zé)任編輯:佚名 來源: 博客園
相關(guān)推薦

2009-07-20 17:12:17

ASP.NET訪問數(shù)據(jù)

2009-08-04 10:17:55

ASP.NET SqlASP.NET數(shù)據(jù)訪問

2009-07-24 13:25:43

創(chuàng)建數(shù)據(jù)訪問層

2009-07-24 14:15:51

數(shù)據(jù)訪問層

2009-07-24 10:52:42

ASP.NET ISA

2009-07-22 17:21:27

ASP.NET 2.0

2009-07-22 16:11:43

ASP.NET AJA

2009-07-20 15:30:11

ASP.NET應(yīng)用

2009-08-03 18:47:12

ASP.NET數(shù)據(jù)緩存

2009-08-05 15:29:33

ASP.NET For

2009-07-23 15:44:39

ASP.NET MVC

2009-07-28 17:49:30

ASP.NET定期回收

2009-07-28 16:03:23

ASP.NET狀態(tài)服務(wù)

2009-08-10 10:19:47

ASP.NET組件設(shè)計(jì)

2009-07-22 13:24:24

ASP.NET MVC

2009-07-23 15:24:37

ASP.NET Ima

2011-08-23 10:58:59

2009-07-21 14:16:02

ASP.NET管道優(yōu)化

2009-07-27 16:19:59

ASP.NET報(bào)表控件

2009-08-11 10:21:54

ASP.NET構(gòu)建數(shù)據(jù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)