使用过微软的企业库的朋友应该能感受到Application Block给我们带来的方便和高速的开发体验,
  特别是在DataAccessApplicationBlock这一块.它简化了数据访问的公共方法,并且能适用于多种
  应用情景,比如读取数据来显示,在各应用层之间传递数据,或提交更新后的数据到数据库.应用程
  序块支持存储过程,内联SQL语句.同时压缩了像管理连接对象,创建和缓存参数等通用任务管理的应
  用程序方法体.换句话说,数据访问应用程序块在简化的类中提供了ADO.net频繁使用的功能,推进了
  开发的效率.  
          毋须多言,下面介绍一个使用DataSet更新数据库的范例,其中有借助了ADO.net中的离线模型的功能.
          1.准备一组增加,删除,修改的存储过程,代码如下:

企业库之数据访问的一个小应用  CREATE PROCEDURE AddProduct
企业库之数据访问的一个小应用(
企业库之数据访问的一个小应用    
@ProductName nvarchar(50),
企业库之数据访问的一个小应用    
@CategoryID int,
企业库之数据访问的一个小应用    
@UnitPrice money
企业库之数据访问的一个小应用)
企业库之数据访问的一个小应用
AS
企业库之数据访问的一个小应用
企业库之数据访问的一个小应用
INSERT INTO Products (ProductName, CategoryID, UnitPrice)
企业库之数据访问的一个小应用
VALUES (@ProductName@CategoryID@UnitPrice)
企业库之数据访问的一个小应用
企业库之数据访问的一个小应用
SELECT ProductID, ProductName, CategoryID, UnitPrice
企业库之数据访问的一个小应用
FROM Products
企业库之数据访问的一个小应用
WHERE ProductID = SCOPE_IDENTITY()
企业库之数据访问的一个小应用
GO
企业库之数据访问的一个小应用
企业库之数据访问的一个小应用
CREATE PROCEDURE DeleteProduct 
企业库之数据访问的一个小应用(
企业库之数据访问的一个小应用    
@ProductID int
企业库之数据访问的一个小应用)
企业库之数据访问的一个小应用
AS
企业库之数据访问的一个小应用
企业库之数据访问的一个小应用
DELETE Products 
企业库之数据访问的一个小应用
WHERE ProductID = @ProductID
企业库之数据访问的一个小应用
GO
企业库之数据访问的一个小应用
企业库之数据访问的一个小应用
CREATE PROCEDURE UpdateProduct 
企业库之数据访问的一个小应用(
企业库之数据访问的一个小应用    
@ProductID int,
企业库之数据访问的一个小应用    
@ProductName nvarchar(50),
企业库之数据访问的一个小应用    
@LastUpdate datetime
企业库之数据访问的一个小应用)
企业库之数据访问的一个小应用
AS
企业库之数据访问的一个小应用
企业库之数据访问的一个小应用
UPDATE Products 
企业库之数据访问的一个小应用
SET ProductName = @ProductName
企业库之数据访问的一个小应用
WHERE ProductID = @ProductID AND LastUpdate = @LastUpdate
企业库之数据访问的一个小应用 
企业库之数据访问的一个小应用
IF @@ROWCOUNT > 0
企业库之数据访问的一个小应用  
-- This statement is used to update the DataSet if changes are done on the updated record (identities, timestamps or triggers )
企业库之数据访问的一个小应用
  SELECT ProductID, ProductName, CategoryID, UnitPrice
企业库之数据访问的一个小应用  
FROM Products
企业库之数据访问的一个小应用  
WHERE ProductID = @ProductID
企业库之数据访问的一个小应用
GO

       2.建立操作数据库的函数

企业库之数据访问的一个小应用 Database db = DatabaseFactory.CreateDatabase();//使用默认连接字符串配置
企业库之数据访问的一个小应用
//初始化DataSet并填充数据
企业库之数据访问的一个小应用
  DataSet productsDataSet = new DataSet();
企业库之数据访问的一个小应用
企业库之数据访问的一个小应用
string sqlCommand = "Select ProductID, ProductName, CategoryID, UnitPrice, LastUpdate " +
企业库之数据访问的一个小应用     
"From Products";
企业库之数据访问的一个小应用DbCommand dbCommand 
= db.GetSqlStringCommand(sqlCommand);
企业库之数据访问的一个小应用
企业库之数据访问的一个小应用
string productsTable = "Products";
企业库之数据访问的一个小应用db.LoadDataSet(dbCommand, productsDataSet, productsTable);
企业库之数据访问的一个小应用
企业库之数据访问的一个小应用
企业库之数据访问的一个小应用
// 从DataSet中得到DataTable
企业库之数据访问的一个小应用
DataTable table = productsDataSet.Tables[productsTable];
企业库之数据访问的一个小应用
企业库之数据访问的一个小应用
//增加一行新值
  deleteCommand, Microsoft.Practices.EnterpriseLibrary.DataAccess.UpdateBehavior.Standard);

        这个方法不需要主动调用增加,删除,修改的存储过程,而是指派给DbCommand对象,由它根据提交的数据集
自动比照来决定何时调用,此乃居家必备之良方-----相当滴省心啊.
        关于企业库的好东东,希望各位DotNeters多多交流.以便我们的开发更有乐趣.

相关文章:

  • 2022-12-23
  • 2021-08-25
  • 2021-12-28
  • 2021-08-31
  • 2021-09-21
  • 2021-12-18
  • 2021-06-06
猜你喜欢
  • 2021-07-26
  • 2021-05-24
  • 2021-06-07
  • 2022-12-23
  • 2021-09-14
  • 2021-09-09
相关资源
相似解决方案