ASP.NET数据访问层的概念是什么

发布时间:2021-07-16 01:26:58 作者:chen
阅读:144
开发者专用服务器限时活动,0元免费领! 查看>>

本篇内容主要讲解“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. ///<summary> 

  52. ///执行带SqlParameter的sql,返回DataReader  

  53. ///summary> 

  54. ///<paramnameparamname="sql">sql语句param> 

  55. ///<paramnameparamname="Param">SqlParameter[]参数列表param> 

  56. ///<returns>返回SqlDataReaderreturns> 

  57. publicstaticSqlDataReaderExecuteReader(stringsql,paramsSqlParameter[]Param)

  58. //执行带SqlParameter的sql,返回DataReader  

  59. {  

  60. SqlConnectionconn=newSqlConnection(ConnectionStrings);  

  61. SqlCommandcmd=newSqlCommand(sql,conn);  

  62. if(Param!=null)  

  63. cmd.Parameters.AddRange(Param);  

  64. if(conn.State!=ConnectionState.Open)  

  65. conn.Open();  

  66. try  

  67. {  

  68. SqlDataReaderdr=cmd.ExecuteReader(CommandBehavior.CloseConnection);  

  69. cmd.Parameters.Clear();  

  70. returndr;  

  71. }  

  72. catch(Exceptionerr)  

  73. {  

  74. conn.Close();  

  75. HttpContext.Current.Response.Write(err.Message+"<br>"+err.StackTrace);  

  76. returnnull;  

  77. }  

  78. }  

  79. ///<summary> 

  80. ///执行带SqlParameter的sql,返回DataTable  

  81. ///summary> 

  82. ///<paramnameparamname="sql">SQL语句param> 

  83. ///<paramnameparamname="Param">SqlParameter[]参数列表param> 

  84. publicstaticDataTableGetDataTable(stringsql,paramsSqlParameter[]Param)

  85. //执行带SqlParameter的sql,返回DataTable  

  86. {  

  87. SqlConnectionconn=newSqlConnection(ConnectionStrings);  

  88. DataTabledt=newDataTable();  

  89. SqlDataAdapterda=newSqlDataAdapter(sql,conn);  

  90. if(Param!=null)  

  91. da.SelectCommand.Parameters.AddRange(Param);  

  92. SqlCommandBuildercb=newSqlCommandBuilder(da);  

  93. da.Fill(dt);  

  94. conn.Close();  

  95. //HttpContext.Current.Response.Write(sql+"<br>");  

  96. returndt;  

  97. }  

  98. ///<summary> 

  99. ///执行带SqlParameter的sql,返回查询结果***行***列的数据  

  100. ///summary> 

  101. ///<paramnameparamname="sql">SQL语句param> 

  102. ///<paramnameparamname="Param">SqlParameter[]参数列表param> 

  103. ///<returns>returns> 

  104. publicstaticObjectExecuteScalar(stringsql,paramsSqlParameter[]Param)

  105. //执行带SqlParameter的sql,返回查询结果***行***列的数据  

  106. {  

  107. //HttpContext.Current.Response.Write(sql+"<br>");  

  108. using(SqlConnectionconn=newSqlConnection(ConnectionStrings))  

  109. {  

  110. if(conn.State!=ConnectionState.Open)  

  111. conn.Open();  

  112. SqlTransactionTran=conn.BeginTransaction();  

  113. SqlCommandcmd=newSqlCommand(sql,conn,Tran);  

  114. if(Param!=null)  

  115. cmd.Parameters.AddRange(Param);  

  116. try  

  117. {  

  118. objectResult=cmd.ExecuteScalar();  

  119. cmd.Parameters.Clear();  

  120. Tran.Commit();  

  121. returnResult;  

  122. }  

  123. catch(Exceptionerr)  

  124. {  

  125. HttpContext.Current.Response.Write(err.Message+"<br>"+err.StackTrace);  

  126. Tran.Rollback();  

  127. returnnull;  

  128. }  

  129. }  

  130. }  

  131. ///<summary> 

  132. ///生成SqlParameter参数  

  133. ///summary> 

  134. ///<paramnameparamname="ParamName">参数名param> 

  135. ///<paramnameparamname="paramType">参数类型param> 

  136. ///<paramnameparamname="ParamValue">参数的值param> 

  137. publicstaticSqlParameterGetParameter
    (stringParamName,SqlDbTypeparamType,ObjectParamValue)

  138. //生成SqlParameter参数  

  139. {  

  140. SqlParameterparam=newSqlParameter(ParamName,paramType);  

  141. param.Value=ParamValue;  

  142. returnparam;  

  143. }  

到此,相信大家对“ASP.NET数据访问层的概念是什么”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读:
  1. [xmind] ASP.NET 设计模式 - DAL 数据访问层
  2. cdn的概念是什么

开发者交流群:

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

asp.net

上一篇:C#和C++有什么不同

下一篇:Web开发中客户端跳转与服务器端跳转有什么区别

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》
开发者交流群×