日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
淺談ASP.NET數(shù)據(jù)訪問(wèn)層

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

創(chuàng)新互聯(lián)建站專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站建設(shè)、成都網(wǎng)站制作、寧陜網(wǎng)絡(luò)推廣、小程序制作、寧陜網(wǎng)絡(luò)營(yíng)銷、寧陜企業(yè)策劃、寧陜品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)建站為所有大學(xué)生創(chuàng)業(yè)者提供寧陜建站搭建服務(wù),24小時(shí)服務(wù)熱線:028-86922220,官方網(wǎng)址:www.cdcxhl.com

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

以下是自己改進(jìn)的ASP.NET數(shù)據(jù)訪問(wèn)層,希望能得到更多人更好的改進(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. /// 
  13. ///數(shù)據(jù)訪問(wèn)層,數(shù)據(jù)庫(kù)操作類  
  14. /// summary> 
  15. publicclassDatabase  
  16. {  
  17. publicstaticstringConnectionStrings=ConfigurationManager.
    ConnectionStrings["ConnectionStrings"].ConnectionString;  
  18. /// 
  19. ///執(zhí)行帶SqlParameter的sql語(yǔ)句,成功返回true,失敗返回false  
  20. /// summary> 
  21. ///<paramnameparamname="sql">sql語(yǔ)句 param> 
  22. ///<paramnameparamname="Param">SqlParameter[]參數(shù)列表 param> 
  23. /// returns> 
  24. publicstaticintExecuteNonQuery(stringsql,paramsSqlParameter[]Param)
  25. //執(zhí)行帶SqlParameter的sql語(yǔ)句,返回影響的行數(shù)  
  26. {  
  27. //HttpContext.Current.Response.Write(sql+"
    ");  
  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+"
    "+err.StackTrace);  
  46. Tran.Rollback();//回滾事務(wù)  
  47. return0;  
  48. }  
  49. }  
  50. }  
  51.  
  52. /// 
  53. ///執(zhí)行帶SqlParameter的sql,返回DataReader  
  54. /// summary> 
  55. ///<paramnameparamname="sql">sql語(yǔ)句 param> 
  56. ///<paramnameparamname="Param">SqlParameter[]參數(shù)列表 param> 
  57. ///返回SqlDataReader returns> 
  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+"
    "+err.StackTrace);  
  78. returnnull;  
  79. }  
  80. }  
  81.  
  82. /// 
  83. ///執(zhí)行帶SqlParameter的sql,返回DataTable  
  84. /// summary> 
  85. ///<paramnameparamname="sql">SQL語(yǔ)句 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+"
    ");  
  99. returndt;  
  100. }  
  101.  
  102. /// 
  103. ///執(zhí)行帶SqlParameter的sql,返回查詢結(jié)果***行***列的數(shù)據(jù)  
  104. /// summary> 
  105. ///<paramnameparamname="sql">SQL語(yǔ)句 param> 
  106. ///<paramnameparamname="Param">SqlParameter[]參數(shù)列表 param> 
  107. /// returns> 
  108. publicstaticObjectExecuteScalar(stringsql,paramsSqlParameter[]Param)
  109. //執(zhí)行帶SqlParameter的sql,返回查詢結(jié)果***行***列的數(shù)據(jù)  
  110. {  
  111. //HttpContext.Current.Response.Write(sql+"
    ");  
  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+"
    "+err.StackTrace);  
  130. Tran.Rollback();  
  131. returnnull;  
  132. }  
  133. }  
  134. }  
  135.  
  136. /// 
  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#

網(wǎng)頁(yè)名稱:淺談ASP.NET數(shù)據(jù)訪問(wèn)層
文章起源:http://m.5511xx.com/article/dpsipch.html