微软发布的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