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

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

 1简介微软发布的Data Access Application Block//Create the connection and sql to be executed
 2简介微软发布的Data Access Application Blockstring strConnTxt = "Server=(local);Database=Northwind;Integrated Security=True;";
 3简介微软发布的Data Access Application Blockstring strSql = "select * from Products where categoryid = 1"
 4简介微软发布的Data Access Application Block
 5简介微软发布的Data Access Application Block//Create and open the connection object
 6简介微软发布的Data Access Application BlockSqlConnection objConn = new SqlConnection(strConnTxt);
 7简介微软发布的Data Access Application BlockobjConn.Open();
 8简介微软发布的Data Access Application Block
 9简介微软发布的Data Access Application Block//Create the connamd object
10简介微软发布的Data Access Application BlockSqlCommand objCmd = new SqlCommand(strSql, objConn);
11简介微软发布的Data Access Application BlockobjCmd.CommandType = CommandType.Text;
12简介微软发布的Data Access Application Block
13简介微软发布的Data Access Application Block//databind the datagrid by calling the ExecuteReader() method
14简介微软发布的Data Access Application BlockDataGrid1.DataSource = objCmd.ExecuteReader();
15简介微软发布的Data Access Application BlockDataGrid1.DataBind();
16简介微软发布的Data Access Application Block
17简介微软发布的Data Access Application Block//close the connection
18简介微软发布的Data Access Application BlockobjConn.Close();
如果用微软封装的Data Access Application Block, 其主要是sqlHelper类,代码如下:
1简介微软发布的Data Access Application Block//Create the connection string and sql to be executed
2简介微软发布的Data Access Application Blockstring strSql = "select * from products where categoryid = 1";
3简介微软发布的Data Access Application Blockstring strConnTxt = "Server=(local);Database=Northwind;Integrated Security=True;";
4简介微软发布的Data Access Application Block
5简介微软发布的Data Access Application BlockDataGrid1.DataSource = SqlHelper.ExecuteReader(strConnTxt, CommandType.Text, strSql);
6简介微软发布的Data Access Application BlockDataGrid1.DataBind();

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

 1简介微软发布的Data Access Application Block//Open a connection to Northwind
 2简介微软发布的Data Access Application BlockSqlConnection objConn = new SqlConnection("Server=(local);Database=Northwind;Integrated Security=True;");
 3简介微软发布的Data Access Application BlockObjConn.Open();
 4简介微软发布的Data Access Application Block
 5简介微软发布的Data Access Application Block//Create the stored procedure command object
 6简介微软发布的Data Access Application BlockSqlCommand objCmd = new SqlCommand("getProductsCategory", objConn);
 7简介微软发布的Data Access Application BlockobjCmd.CommandType = CommandType.StoredProcedure;
 8简介微软发布的Data Access Application Block
 9简介微软发布的Data Access Application Block//create the parameter object for the stored procedure parameter
10简介微软发布的Data Access Application BlockobjCmd.Parameter.Add("@CategoryID", SqlDbType.Int);
11简介微软发布的Data Access Application BlockobjCmd.Parameter["@CategoryID"].Value = 1;
12简介微软发布的Data Access Application Block
13简介微软发布的Data Access Application Block//create our DataAdapter and DataSet objects
14简介微软发布的Data Access Application BlockSqlDataAdapter objDA = new SqlDataAdapter(objCmd);
15简介微软发布的Data Access Application BlockDataSet objDS = new DataSet("Category_Results");
16简介微软发布的Data Access Application Block
17简介微软发布的Data Access Application Block//fill the dataset
18简介微软发布的Data Access Application BlockobjDA.Fill(objDS);
19简介微软发布的Data Access Application Block
20简介微软发布的Data Access Application Block//databind the datagrid
21简介微软发布的Data Access Application BlockDataGrid1.DataSource = objDS;
22简介微软发布的Data Access Application BlockDataGrid1.DataBind();
23简介微软发布的Data Access Application Block
24简介微软发布的Data Access Application Block//close connection
25简介微软发布的Data Access Application BlockobjConn.Close();
如果用微软封装的Data Access Application Block,其主要是sqlHelper类,代码如下:
1简介微软发布的Data Access Application Blockstring strConn = "Server=(local);Database=Northwind;Integrated Security=True;";
2简介微软发布的Data Access Application BlockDataSet objDS = SqlHelper.ExecuteDataset(strConn, CommandType.StoredProcedure, "getProductsByCategory"new SqlParameter("@CategoryID"1));
3简介微软发布的Data Access Application Block
4简介微软发布的Data Access Application BlockDataGrid1.DataSource = objDS;
5简介微软发布的Data Access Application BlockDataGrid1.DataBind();

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

相关文章:

  • 2021-07-11
  • 2021-10-26
  • 2021-10-05
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-01-11
  • 2021-11-03
  • 2021-09-14
  • 2021-07-04
相关资源
相似解决方案