摘 要:VB具有较强的数据库开发能力。本文首先讨论了VB中常用的数据库访问技术,然后详细介绍了ADO的数据库开发方法。
关键词:VB;ADO;DAO;RDO
1引言随着信息技术的发展,特别是网络信息交流的需要,要求有快捷的信息
查询技术。借助于VB可以轻松地开发出功能强、速度快、应用广并占用资源少的数据库应用
程序。VB提供了多种多样的数据库访问技术来满足各种信息
查询的要求,如ADO,RDO,Data控件,DAO等。这些技术各有特点,它们提供了简单、灵活、访问速度快、可扩展性好的开发技术。
2 常用的数据库访问技术2.1Data控件数据控件Data是VB中一个常用的控件对象,它具有快捷、方便和功能强大的特点,主要用于打开、访问并操作已有的数据库。由于Data控件使用Microsoft的Jet数据库引擎来实现数据访问,使用户可以无缝地访问许多标准的数据库格式,而且用户只要设置控件中的几个关键属性,并用一些文本控件把数据显示出来就可以创建数据应用程序,因此这种内部的Data控件最适合较小的(桌面)数据库,诸如Access和ISAM数据库等。不足之处是在编辑处理数据方面受到限制,无法进行增删记录等操作,。2.2 DAODAO(Data Access Object)即数据访问对象,是VB最早引入的数据访问技术。与上述建立在数据控件上的数据访问不同,DAO可以完全不用数据控件而只用程序代码来创建完整的数据库应用程序。利用DAO可以访问数据库中的所有对象并灵活地操纵数据的编辑操作。但它是基于PC平台的数据交换。2.3 RDORDO(Remote Data Object)又称为远程数据对象,它是指在Client(客户端)与Server(服务器端)建立的数据访问模式。RDO是位于ODBC API之上的一个对象模型薄层,它绕过Jet数据库引擎,而依赖于ODBC API、ODBC驱动程序以及后端数据库引擎实现大部分的智能和功能。它是从DAO派生出来的,但两者的数据库模式有很大的不同。DAO是针对记录和字段的,而RDO是作为行和列来处理的。也就是说,DAO是ISAM模式,RDO是关系模式。此外,DAO是访问Access的Jet引擎的接口,而RDO则是访问ODBC的接口。2.4 ADOADO(ActiveX Data Objects)称为ActiveX数据对象,是Microsoft公司开发数据库应用程序面向对象的新接口,ADO技术已成为ASP技术用来访问Web数据库应用程序的核心。ADO是DAO/RDO的后继产物,它扩展了DAO和RDO所使用的对象模型,具有更加简单,更加灵活的操作性能。ADO在Internet方案中使用最少的网络流量,并在前端和数据源之间使用最少的层数,提供了轻量、高性能的数据访问接口,可通过ADO Data控件非编程和利用ADO对象编程来访问各种数据库。下面将详细介绍在VB中如何使用ADO来进行数据库应用
程序开发。
3 使用ADO访问数据库的基本流程为了方便讨论,在C:\My Documents下建立教学管理数据库jxgl.mdb,分别有xsb(学生表),jsb(教师表),kcb(课程表)等数据表,其中jsb包含字段有:gh(工号),xm(姓名),xb(性别),ximing(系名),gl(工龄),jbgz(基本工资)等。3.1通过ADO Data控件非编程来访问(1) 在工具箱中添加ADO Data控件。操作为:“工程”→“部件” →“Microsoft ADO Data Control”。.(2) 在窗体上放置一个ADO Data控件,名称默认为Adodc1。(3) 设置Adodc1.ConnectionString属性值为“DSN=jxgldsn”。其中“jxgldsn”为指向jxgl.mdb数据库的数据源名称,可通过控制面版预先设定。(4) 设置Adodc1.RecordSource项,选择命令类型为“2-adCmdTable”,并在表名项中选择“jsb”。(5) 将ADO Data控件与Text文本框绑定。放置文本框控件于窗体,将其DataSource属性值设置Adodc1,DataField属性值设为表中一字段,如gh。运行
程序,可用ADO Data控件的方向箭头来浏览。除了应用上述引入一组数据绑定控件显示数据内容之外,还可以使用数据网格控件DataGrid来显示多个字段内容。步骤为:l 先通过“工程” →“部件” →“Microsoft DataGrid Control”引入数据网格控件并在窗体中绘制一个DataGrid控件。l 把DataGrid绑定到ADO数据控件上。设置DataSource属性值为:Adodc1。l 把数据库字段加入到DataGrid控件上。鼠标右击DataGrid控件,选择检索字段,则当前数据表的字段全部导入到数据网格控件上。3.2用ADO对象库编程访问(1)引用ADO对象库。操作为:“工程” →“引用” →“Microsoft ActiveX Data Objects 2.1 Library”。(2)用代码打开数据源,建立记录集,将记录集中的记录内容打印出来。Dim conn As Connection ''conn为连接Dim rs As Recordset ''rs为记录集Dim sql As StringSet conn = CreateObject("adodb.connection")conn.Open "provider=msdasql;database=jxgl;data source=jxgldsn" ''打开数据源sql = "select * from jsb"Set rs = conn.Execute(sql) ''建立记录集Do While Not rs.EOF For i = 0 To rs.Fields.Count - 1 Print rs.Fields(i) ''输出jsb表中各字段 Next irs.MoveNextPrintLoop
4结束语ADO是Microsoft数据库应用
程序开发的新接口,它具有较强的功能、通用性好、效率高、占空间少等特点。它替代了原来的DAO和RDO两种数据访问接口。另外还增加了一些用户以前没有接触到的特征。随着信息网络化的发展,对数据库的访问宜采用ADO对象模型,以获得更好的性能,更大的灵活性。
参考文献(1)林立军等。Visual Basic 6.0数据库开发指南。西安电子科技大学出版社,1999(2)叶良等。VC中的ADO开发简介。
计算机时代,2002(8)(3)李勇平等。中文Visual Basic6.0案例教程。希望电子出版社,2001