首先当然是针对app.config 或web.config进行配置了,对于DAAB部分的具体配置,可以直接参考TerryLee的Enterprise Library Step By Step系列(三):数据访问程序块——入门篇这篇文章,本文略过。我主要想说一下DAAB在代码中如何实现数据库的基本操作,比如添加、删除、编辑、保存、查询以及存储过程控制。
在设计环境中先引用EnterPrise中的EnterpriseLibrary.Common和EnterpriseLibrary.Data两个类,并声明。
1、基本的数据操作:
Private Sub DataView()
'利用EnterPriseLibrary中的ExecuteDataSet进行数据操作
Dim DB As Database
'建立默认数据链接
'DB = DatabaseFactory.CreateDatabase()
'加入参数映射到指定的配置文件
DB = DatabaseFactory.CreateDatabase("temp")
Dim ds As New DataSet
'ExecuteDataSet方法返回一个DataSet类型,还有ExecuteReader等方法
'其中ExecuteDataSet(CommandType.Text, "select * from book")也可以写成
'ExecuteDataSet("proc_book_select") 其中Proc_book_select 是存储过程
'其中放了select * from book一条语句,这两种实现结果是一样的
ds = DB.ExecuteDataSet(CommandType.Text, "select * from book")
DataGrid1.DataSource = ds.Tables(0)
DataGrid1.DataBind()
End Sub
2、利用存储过程进行操作:
一般分为无参、带参以及带输入输出的三种
Private Sub ProcData()
'针对不带参数的存储过程
'其中DBCommandWrapper是一个基类,同时封装命令和参数处理到一个单一对象
'而ExecuteDataSet只针对一个DBCommandWrapper就可以进行数据库的操作了
Dim db As Database
Dim comWrapper As DBCommandWrapper
Dim ds As DataSet
'创建数据库实例
db = DatabaseFactory.CreateDatabase("temp")
'传递参数-存储过程名称
comWrapper = db.GetSqlStringCommandWrapper("proc_book_select")
'执行存储过程
ds = db.ExecuteDataSet(comWrapper)
DataGrid1.DataSource = ds
DataGrid1.DataBind()
'---------------------------------------------------------------------------
'带参的情况
comWrapper = db.GetSqlStringCommandWrapper("proc_book_query")
'传递参数
Dim sqlOK = "and bname like 's%'"
comWrapper.AddInParameter("@sqlstr", DbType.String, sqlOK)
'执行存储过程
ds = db.ExecuteDataSet(comWrapper)
DataGrid1.DataSource = ds
DataGrid1.DataBind()
'---------------------------------------------------------------------------
'带输入输出参数的情况
Dim dbc As DBCommandWrapper
dbc = db.GetStoredProcCommandWrapper("proc_book_out")
'引入输入参数
dbc.AddInParameter("@instr", DbType.String, "Test")
'引入输出参数
dbc.AddOutParameter("@outstr", DbType.String, 20)
db.ExecuteNonQuery(dbc)
'输出结果
TextBox1.Text = dbc.GetParameterValue("@outstr").ToString
End Sub
利用DAAB对数据库进行控制是非常方便快捷的,通过DataBase提供的方法
基本可以完成数据库大量的操作,使代码优化、重用,提高了代码的一致性和安全性
有了以上的方法,对于数据库的基本操作,比如添加、删除、编辑、保存以及查询等都将是SQL语句或者
存储过程的工作了,而DAAB只需要简单的定义以及操作就可以了。