成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

淺談ASP.NET數據訪問層

開發 后端
這里每個項目都要用到ASP.NET數據訪問層,我做的也不例外,但是我把數據訪問層做成獨立項目,沒有什么太大的目的,數據訪問層,僅僅做數據訪問用,不包含任何邏輯。

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

每個項目都要用到ASP.NET數據訪問層,我做的也不例外,但是我把數據訪問層做成獨立項目,沒有什么太大的目的,數據訪問層,僅僅做數據訪問用,不包含任何邏輯。

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

  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. ///數據訪問層,數據庫操作類  
  14. ///summary> 
  15. publicclassDatabase  
  16. {  
  17. publicstaticstringConnectionStrings=ConfigurationManager.
    ConnectionStrings["ConnectionStrings"].ConnectionString;  
  18. ///<summary> 
  19. ///執行帶SqlParameter的sql語句,成功返回true,失敗返回false  
  20. ///summary> 
  21. ///<paramnameparamname="sql">sql語句param> 
  22. ///<paramnameparamname="Param">SqlParameter[]參數列表param> 
  23. ///<returns>returns> 
  24. publicstaticintExecuteNonQuery(stringsql,paramsSqlParameter[]Param)
  25. //執行帶SqlParameter的sql語句,返回影響的行數  
  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();//開始事務  
  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();//回滾事務  
  47. return0;  
  48. }  
  49. }  
  50. }  
  51.  
  52. ///<summary> 
  53. ///執行帶SqlParameter的sql,返回DataReader  
  54. ///summary> 
  55. ///<paramnameparamname="sql">sql語句param> 
  56. ///<paramnameparamname="Param">SqlParameter[]參數列表param> 
  57. ///<returns>返回SqlDataReaderreturns> 
  58. publicstaticSqlDataReaderExecuteReader(stringsql,paramsSqlParameter[]Param)
  59. //執行帶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. ///執行帶SqlParameter的sql,返回DataTable  
  84. ///summary> 
  85. ///<paramnameparamname="sql">SQL語句param> 
  86. ///<paramnameparamname="Param">SqlParameter[]參數列表param> 
  87. publicstaticDataTableGetDataTable(stringsql,paramsSqlParameter[]Param)
  88. //執行帶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. ///執行帶SqlParameter的sql,返回查詢結果***行***列的數據  
  104. ///summary> 
  105. ///<paramnameparamname="sql">SQL語句param> 
  106. ///<paramnameparamname="Param">SqlParameter[]參數列表param> 
  107. ///<returns>returns> 
  108. publicstaticObjectExecuteScalar(stringsql,paramsSqlParameter[]Param)
  109. //執行帶SqlParameter的sql,返回查詢結果***行***列的數據  
  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參數  
  138. ///summary> 
  139. ///<paramnameparamname="ParamName">參數名param> 
  140. ///<paramnameparamname="paramType">參數類型param> 
  141. ///<paramnameparamname="ParamValue">參數的值param> 
  142. publicstaticSqlParameterGetParameter
    (stringParamName,SqlDbTypeparamType,ObjectParamValue)
  143. //生成SqlParameter參數  
  144. {  
  145. SqlParameterparam=newSqlParameter(ParamName,paramType);  
  146. param.Value=ParamValue;  
  147. returnparam;  
  148. }  

【編輯推薦】

  1. C#局部類型介紹
  2. C#固定指針簡單介紹
  3. 淺析C# FTP WebRequest對象
  4. C#分部方法的應用場景
  5. 簡單介紹VB.NET和C#
責任編輯:佚名 來源: 博客園
相關推薦

2009-07-20 17:12:17

ASP.NET訪問數據

2009-08-04 10:17:55

ASP.NET SqlASP.NET數據訪問

2009-07-24 13:25:43

創建數據訪問層

2009-07-24 14:15:51

數據訪問層

2009-07-22 17:21:27

ASP.NET 2.0

2009-07-20 15:30:11

ASP.NET應用

2009-07-22 16:11:43

ASP.NET AJA

2009-07-24 10:52:42

ASP.NET ISA

2009-07-21 14:16:02

ASP.NET管道優化

2011-08-23 10:58:59

2009-07-23 15:24:37

ASP.NET Ima

2009-07-27 16:19:59

ASP.NET報表控件

2009-07-28 17:49:30

ASP.NET定期回收

2009-07-22 13:24:24

ASP.NET MVC

2009-08-10 10:19:47

ASP.NET組件設計

2009-07-23 15:44:39

ASP.NET MVC

2009-08-05 15:29:33

ASP.NET For

2009-07-28 16:03:23

ASP.NET狀態服務

2009-08-03 18:47:12

ASP.NET數據緩存

2009-08-11 10:21:54

ASP.NET構建數據
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美激情欧美激情在线五月 | 精一区二区 | 亚洲免费网址 | 免费黄色录像片 | 成人免费视频观看 | 一区二区三区四区不卡视频 | 国产成人在线视频 | 国产色视频网站 | 一区二区三区在线播放 | 91 在线 | 国产一区二区三区视频免费观看 | 热99视频 | 日本黄色免费视频 | 国产在线小视频 | 久久久精品一区 | 日本高清中文字幕 | 国产乱码精品一区二区三区五月婷 | 九久久| 国产精品国产三级国产aⅴ中文 | 青青草原精品99久久精品66 | 日本高清中文字幕 | 国产精品无码专区在线观看 | 亚洲一级毛片 | 国产精品久久久久无码av | 久久91视频| 亚洲一区二区三区四区五区午夜 | 国产色| 国产激情第一页 | 日韩免费在线观看视频 | 天天操夜夜艹 | eeuss国产一区二区三区四区 | 亚州精品天堂中文字幕 | 看a网站 | 久久久精品一区二区三区 | 国产精品久久久久无码av | 国产精品一区二区av | 国产精品毛片无码 | 99热在线免费 | 免费国产一区 | 国产成人99久久亚洲综合精品 | 久久亚洲一区 |