为了方便的访问数据,微软自己封装了一个数据访问模块, 即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引入项目,以给项目开发带来便利. 下载地址如下: 
