简介微软发布的Data Access Application Block
2007-01-30 15:17
537 查看
为了方便的访问数据,微软自己封装了一个数据访问模块, 即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
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
相关文章推荐
- 简介微软发布的Data Access Application Block
- 简介微软发布的Data Access Application Block
- 简介微软发布的Data Access Application Block
- 简介微软发布的Data Access Application Block
- 简介微软发布的Data Access Application Block
- 微软发布的Data Access Application Block的使用代码
- 微软发布的Data Access Application Block的使用代码
- [EntLib]微软企业库6 基于Data Access Application Block的Repository
- [EntLib]微软企业库6 Data Access Application Block 扩展
- 数据访问应用程序块 (Data Access Application Block) .NET 组件简介
- 针对Data Access Application Block的生成DBCommandWrapper的代码生成器
- Enterprise Library Library Data Access Application Block Step By Step
- Data Access Application Block for .NET
- 感觉 Data Access Application Block(DAAB) 里也有可能写得不太好的地方
- [原创]我的ORM: 开发自己的Data Access Application Block - Part II
- Enterprise Library - Data Access Application Block 6.0.1304
- 今天下载安装了Enterprise Library for .NET Framework 2.0 - January 2006,准备试试dataAccess application block
- Enterprise Library – Data Access Application Block - Part 1
- 用Enterprise Library - January 2006 的Data Access Application Block 访问Oracle存储过程心得
- 2 - Much ADO about Data Access: Using the Data Access Application Block