zoukankan      html  css  js  c++  java
  • 简介微软发布的Data Access Application Block

    为了方便的访问数据,微软自己封装了一个数据访问模块, 即Data Access Application Block. 通过它,我们用来访问数据库的编码量大大减少了. 这样的代码既有效率,又减少了出现错误的几率,其益处是可见的. 下面举两个例子比较一下

    1. 使用一般的sql语句进行控件绑定, 常规代码如下:

    1//Create the connection and sql to be executed
    2string strConnTxt = "Server=(local);Database=Northwind;Integrated Security=True;";
    3string strSql = "select * from Products where categoryid = 1"
    4
    5//Create and open the connection object
    6SqlConnection objConn = new SqlConnection(strConnTxt);
    7objConn.Open();
    8
    9//Create the connamd object
    10SqlCommand objCmd = new SqlCommand(strSql, objConn);
    11objCmd.CommandType = CommandType.Text;
    12
    13//databind the datagrid by calling the ExecuteReader() method
    14DataGrid1.DataSource = objCmd.ExecuteReader();
    15DataGrid1.DataBind();
    16
    17//close the connection
    18objConn.Close();

    如果用微软封装的Data Access Application Block, 其主要是sqlHelper类,代码如下:

    1//Create the connection string and sql to be executed
    2string strSql = "select * from products where categoryid = 1";
    3string strConnTxt = "Server=(local);Database=Northwind;Integrated Security=True;";
    4
    5DataGrid1.DataSource = SqlHelper.ExecuteReader(strConnTxt, CommandType.Text, strSql);
    6DataGrid1.DataBind();

    2. 调用存储过程进行控件绑定
    常规代码如下:

    1//Open a connection to Northwind
    2SqlConnection objConn = new SqlConnection("Server=(local);Database=Northwind;Integrated Security=True;");
    3ObjConn.Open();
    4
    5//Create the stored procedure command object
    6SqlCommand objCmd = new SqlCommand("getProductsCategory", objConn);
    7objCmd.CommandType = CommandType.StoredProcedure;
    8
    9//create the parameter object for the stored procedure parameter
    10objCmd.Parameter.Add("@CategoryID", SqlDbType.Int);
    11objCmd.Parameter["@CategoryID"].Value = 1;
    12
    13//create our DataAdapter and DataSet objects
    14SqlDataAdapter objDA = new SqlDataAdapter(objCmd);
    15DataSet objDS = new DataSet("Category_Results");
    16
    17//fill the dataset
    18objDA.Fill(objDS);
    19
    20//databind the datagrid
    21DataGrid1.DataSource = objDS;
    22DataGrid1.DataBind();
    23
    24//close connection
    25objConn.Close();

    如果用微软封装的Data Access Application Block,其主要是sqlHelper类,代码如下:

    1string strConn = "Server=(local);Database=Northwind;Integrated Security=True;";
    2DataSet objDS = SqlHelper.ExecuteDataset(strConn, CommandType.StoredProcedure, "getProductsByCategory", new SqlParameter("@CategoryID", 1));
    3
    4DataGrid1.DataSource = objDS;
    5DataGrid1.DataBind();

    Data Access Application Block, 有其封装的源代码和帮助文件,我们也可以根据项目需求做一下改动再编译成dll引入项目,以给项目开发带来便利. 下载地址如下:
    http://download.microsoft.com/download/VisualStudioNET/daabref/RTM/NT5/EN-US/DataAccessApplicationBlock.msi

  • 相关阅读:
    几种流行Webservice框架性能对比
    java实现的单点登录
    SQL Server性能调优——报表数据库与业务数据库分离
    控制台console输出信息原理理解
    查看程序是否启动或者关闭--比如查看Tomcat是否开启!直接用ps命令查看进程就行了啊
    Tomcat日志问题
    客户端用httpurlconnection来进行http连接的
    一个tomcat上放多个webapp问题,那这多个webapp会不会竞争端口呢?不会!安全两码事
    ps -ef能列出进程号,和端口号没任何关系
    Tomcat打印运行时日志(控制台),访问日志,启动日志
  • 原文地址:https://www.cnblogs.com/zhukezhuke/p/1539293.html
Copyright © 2011-2022 走看看