时间:2022-08-12 04:48:49
摘 要:本文通过分析ADO访问数据库的两种方法,在实际应用中总结对数据库的基本的增删改查操作,实现了对信息系统数据的处理功能。
关键词:ADO对象;数据处理;功能
DOI:10.16640/ki.37-1222/t.2015.24.098
1 引言
在Visual Basic的开发环境中,常用的数据库访问有DAO/RDO/ADO三种对象模型。在这三种对象模型中,ADO是RDO和DAO的后继产物,它集成了DAO和RDO的优点,使用更灵活,访问数据的效率更高,是VB访问数据库的一个新接口,适合于各种客户/服务器应用系统和基于Web的应用系统。
2 ADO访问数据库的方法
在VB中,使用ADO访问数据库主要有两种方式:一种是使用ADO Data 控件绑定来访问数据库中的数据;一种是使用ADO对象模型即编程方式来实现。前者的优势在于编程人员可以通过很少的代码创建数据库的链接,直接将数据显示在相关表格控件中,这种方法最大的缺陷就是功能不是那么灵活,在大型数据库信息系统中,效率低下,通常是初学者的首选方法;而后者通常被应用在大型数据库信息系统中,ADO对象提供了大多数应用程序需要的所有的数据访问和处理功能,它在应用程序和数据源交互方式上提供了更好的控制,可以创建更为灵活更为强大的应用程序。
3 ADO在简单登记系统中的应用
本系统,是通过VB连接Access数据库,实现对加工工件的登记、修改、查询、删除功能,下面通过具体的实现来讨论ADO数据控件通过非编程方式实现对ACCESS数据库的访问。
(1)使用ADOData控件访问数据库。在数据库中已建立了一个工件登记数据库(db2.mdb),库中有“basic_infor”、“company_infor”两张数据表。具体实现过程如下:
1)首先将ADODC控件添加到工具箱。
2)设置连接属性字符串ConnectionString为“Provider=Microsoft.Jet.OLEDB.4.0;Data Source=db2.mdb;Persist Security Info=False”,设置commandType属性为:“2-adCmdTable”。
3)添加数据至数据表:
Adodc1.RecordSource = "basic_infor"
Adodc1.Refresh
Adodc1.Recordset.AddNew
Adodc1.Recordset.Fields("公司名称") = Text1.Text
Adodc1.Recordset.Fields("登记日期") = DTPicker1.Value
……
Adodc1.Recordset.Update
4)删除数据
Set rs1 = Adodc1.Recordset
qr = MsgBox("是否要删除该记录", vbYesNo, "确认")
If qr = vbYes Then
If rs1.EOF Then
MsgBox "此公司没有相关信息!", , "提示"
Exit Sub
Else
rs1.Delete
rs1.MoveFirst
Adodc1.Refresh
DataGrid1.Refresh
End If
End If
5)修改数据操作可在数据库绑定的数据表中直接修改,保存即可。
6)在数据库中查询指定公司名称的记录,将查询结果显示在datagrid控件中,按照日期排序。
a = DataCombo1.BoundText
Adodc2.Recordset.MoveFirst
Adodc2.Recordset.Find ("公司名称='" & a & "'")
If Adodc2.Recordset.EOF Then
MsgBox "未查询到!", , "注意"
Exit Sub
End If
b = "select * from basic_infor where 公司名称 = '" & Adodc2.Recordset("公司名称") & "'order by 登记日期 "
Adodc1.RecordSource = b
Adodc1.Refresh
(2)使用ADO对象模型访问数据库。首先在“工程”菜单下的“引用”子菜单引用“Microsoft ActiveX Data Object 2.1 Library”,然后通过以下五个步骤完成数据库的访问。
1)创建链接:Set conn = New ADODB.Connection
conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data source=" & App.Path & "\db2.mdb"
2)打开链接:conn.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\db2.mdb;"
3)创建和打开记录集:Dim adoPrimaryRS As ADODB.Recordset
adoPrimaryRS.Open "select * from basic_infor order by 登记日期 ", conn, adOpenStatic, adLockOptimistic
4)操作记录集中的数据:①增加一条记录
adoPrimaryRS.AddNew
adoPrimaryRS.Fields("公司名称") = Text1.Text
……
adoPrimaryRS.Update
②删除一条记录。通过if条件语句判断是否删除,执行删除操作:
AdoPrimaryRS.Delete
AdoPrimaryRS.MoveFirst
③修改记录。修改记录的代码与增加记录代码相似,不同在于修改记录内部不能有adoPrimaryRS.AddNew语句,否则出错。
④查找记录。通过Command对象的Execute方法来查找返回符合条件的记录集。Set adoPrimaryRS = command.Execute(RecordsAffected,Parameters,Options)
5)关闭链接和记录集(先关闭记录集再关闭链接)
adoPrimaryRS.Close
conn.close
4 结束语
通过Ado对象访问数据库的方法是程序员编码最基本的技术之一,而且是信息系统开发的重点,其代码质量的优良与否成为信息系统稳定性的一个至关重要的因素,因此, ADO技术的解析应用非常有必要。
参考文献:
[1]张宗飞.VB中基于ADO的数据库访问技术分析及应用[Z].计算机与数字工程,2008(03):53-55.
[2]张树兵等编著.Visual Basic6.0入门与提高[M].北京:清华大学出版社,1999.