如果不使用ASP.NET数据访问层,那么你的代码里会出现很多SqlConnection、SqlCommand、SqlDataReader、Open、 Close……这些类和方法,而且代码量很大,让你不胜其烦,而且代码写起来,其实都是体力活,没有技术含量。
创新互联建站专注为客户提供全方位的互联网综合服务,包含不限于成都网站建设、成都网站制作、宁陕网络推广、小程序制作、宁陕网络营销、宁陕企业策划、宁陕品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联建站为所有大学生创业者提供宁陕建站搭建服务,24小时服务热线:028-86922220,官方网址:www.cdcxhl.com
每个项目都要用到ASP.NET数据访问层,我做的也不例外,但是我把数据访问层做成独立项目,没有什么太大的目的,数据访问层,仅仅做数据访问用,不包含任何逻辑。
以下是自己改进的ASP.NET数据访问层,希望能得到更多人更好的改进建议,谢谢啦。
- usingSystem;
- usingSystem.Data;
- usingSystem.Data.SqlClient;
- usingSystem.Configuration;
- usingSystem.Web;
- usingSystem.Web.Security;
- usingSystem.Web.UI;
- usingSystem.Web.UI.WebControls;
- usingSystem.Web.UI.WebControls.WebParts;
- usingSystem.Web.UI.HtmlControls;
- usingSystem.Text;
- ///
- ///数据访问层,数据库操作类
- /// summary>
- publicclassDatabase
- {
- publicstaticstringConnectionStrings=ConfigurationManager.
ConnectionStrings["ConnectionStrings"].ConnectionString;- ///
- ///执行带SqlParameter的sql语句,成功返回true,失败返回false
- /// summary>
- ///<paramnameparamname="sql">sql语句 param>
- ///<paramnameparamname="Param">SqlParameter[]参数列表 param>
- ///
returns> - publicstaticintExecuteNonQuery(stringsql,paramsSqlParameter[]Param)
- //执行带SqlParameter的sql语句,返回影响的行数
- {
- //HttpContext.Current.Response.Write(sql+"
");- using(SqlConnectionconn=newSqlConnection(ConnectionStrings))
- {
- if(conn.State!=ConnectionState.Open)
- conn.Open();
- SqlTransactionTran=conn.BeginTransaction();//开始事务
- SqlCommandcmd=newSqlCommand(sql,conn,Tran);
- if(Param!=null)
- cmd.Parameters.AddRange(Param);
- try
- {
- intResult=cmd.ExecuteNonQuery();
- Tran.Commit();
- cmd.Parameters.Clear();
- returnResult;
- }
- catch(Exceptionerr)
- {
- HttpContext.Current.Response.Write(err.Message+"
"+err.StackTrace);- Tran.Rollback();//回滚事务
- return0;
- }
- }
- }
- ///
- ///执行带SqlParameter的sql,返回DataReader
- /// summary>
- ///<paramnameparamname="sql">sql语句 param>
- ///<paramnameparamname="Param">SqlParameter[]参数列表 param>
- ///
返回SqlDataReader returns> - publicstaticSqlDataReaderExecuteReader(stringsql,paramsSqlParameter[]Param)
- //执行带SqlParameter的sql,返回DataReader
- {
- SqlConnectionconn=newSqlConnection(ConnectionStrings);
- SqlCommandcmd=newSqlCommand(sql,conn);
- if(Param!=null)
- cmd.Parameters.AddRange(Param);
- if(conn.State!=ConnectionState.Open)
- conn.Open();
- try
- {
- SqlDataReaderdr=cmd.ExecuteReader(CommandBehavior.CloseConnection);
- cmd.Parameters.Clear();
- returndr;
- }
- catch(Exceptionerr)
- {
- conn.Close();
- HttpContext.Current.Response.Write(err.Message+"
"+err.StackTrace);- returnnull;
- }
- }
- ///
- ///执行带SqlParameter的sql,返回DataTable
- /// summary>
- ///<paramnameparamname="sql">SQL语句 param>
- ///<paramnameparamname="Param">SqlParameter[]参数列表 param>
- publicstaticDataTableGetDataTable(stringsql,paramsSqlParameter[]Param)
- //执行带SqlParameter的sql,返回DataTable
- {
- SqlConnectionconn=newSqlConnection(ConnectionStrings);
- DataTabledt=newDataTable();
- SqlDataAdapterda=newSqlDataAdapter(sql,conn);
- if(Param!=null)
- da.SelectCommand.Parameters.AddRange(Param);
- SqlCommandBuildercb=newSqlCommandBuilder(da);
- da.Fill(dt);
- conn.Close();
- //HttpContext.Current.Response.Write(sql+"
");- returndt;
- }
- ///
- ///执行带SqlParameter的sql,返回查询结果***行***列的数据
- /// summary>
- ///<paramnameparamname="sql">SQL语句 param>
- ///<paramnameparamname="Param">SqlParameter[]参数列表 param>
- ///
returns> - publicstaticObjectExecuteScalar(stringsql,paramsSqlParameter[]Param)
- //执行带SqlParameter的sql,返回查询结果***行***列的数据
- {
- //HttpContext.Current.Response.Write(sql+"
");- using(SqlConnectionconn=newSqlConnection(ConnectionStrings))
- {
- if(conn.State!=ConnectionState.Open)
- conn.Open();
- SqlTransactionTran=conn.BeginTransaction();
- SqlCommandcmd=newSqlCommand(sql,conn,Tran);
- if(Param!=null)
- cmd.Parameters.AddRange(Param);
- try
- {
- objectResult=cmd.ExecuteScalar();
- cmd.Parameters.Clear();
- Tran.Commit();
- returnResult;
- }
- catch(Exceptionerr)
- {
- HttpContext.Current.Response.Write(err.Message+"
"+err.StackTrace);- Tran.Rollback();
- returnnull;
- }
- }
- }
- ///
- ///生成SqlParameter参数
- /// summary>
- ///<paramnameparamname="ParamName">参数名 param>
- ///<paramnameparamname="paramType">参数类型 param>
- ///<paramnameparamname="ParamValue">参数的值 param>
- publicstaticSqlParameterGetParameter
(stringParamName,SqlDbTypeparamType,ObjectParamValue)- //生成SqlParameter参数
- {
- SqlParameterparam=newSqlParameter(ParamName,paramType);
- param.Value=ParamValue;
- returnparam;
- }
- }
【编辑推荐】
当前题目:浅谈ASP.NET数据访问层
文章源于:http://www.mswzjz.cn/qtweb/news44/401394.html
攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能