数据库开发入门:VB+ADO
VB6中使用ADO

VB6.0使用ADO连接数据库一、ADO概述ADO是Microsoft为最新和最强大的数据访问范例 OLE DB 而设计的,是一个便于使用的应用程序层接口。
ADO 使您能够编写应用程序以通过 OLE. DB 提供者访问和操作数据库服务器中的数据。
ADO 最主要的优点是易于使用、速度快、内存支出少和磁盘遗迹小。
ADO 在关键的应用方案中使用最少的网络流量,并且在前端和数据源之间使用最少的层数,所有这些都是为了提供轻量、高性能的接口。
之所以称为ADO,是用了一个比较熟悉的暗喻,OLE 自动化接口。
OLE DB是一组“组件对象模型”(COM) 接口,是新的数据库低层接口,它封装了ODBC的功能,并以统一的方式访问存储在不同信息源中的数据。
OLE DB是Microsoft UDA(Universal Data Access)策略的技术基础。
OLE DB 为任何数据源提供了高性能的访问,这些数据源包括关系和非关系数据库、电子邮件和文件系统、文本和图形、自定义业务对象等等。
也就是说,OLE DB 并不局限于 ISAM、Jet 甚至关系数据源,它能够处理任何类型的数据,而不考虑它们的格式和存储方法。
在实际应用中,这种多样性意味着可以访问驻留在 Excel 电子数据表、文本文件、电子邮件/目录服务甚至邮件服务器,诸如Microsoft Exchange 中的数据。
但是,OLE DB 应用程序编程接口的目的是为各种应用程序提供最佳的功能,它并不符合简单化的要求。
您需要的API 应该是一座连接应用程序和OLE DB 的桥梁,这就是ActiveX Data Objects (ADO)。
二、VB6.0实现方法本文将ADO封装为clsADO类模块(本文附件),具体定义如下:属性:(无)方法:Sub SetConnectionString(ByVal ConnectionString As String) 设置连接数据的连接字符串,亦可在OpenDB方法中指定。
在VB6.0数据库程序开发中使用ADO 和SQL 关键词:ADO SQL 数据库

在VB6.0数据库程序开发中使用ADO 和SQL关键词:ADO SQL数据库1.引言在VB的应用程序开发中,访问数据库的方法可归纳为两种。
一种是通过DAO 或AD O的数据源对表中的数据进行直接操作,另一种是通过标准的SQL语句结合Connection 对象对数据库中的数据进行操作,对表中的数据进行检索和统计。
DAO是Visual Basic 5.0使用的数据访问技术,它在用于访问MDB文件格式的数据库时有较高的效率,但访问如Oracle或SQL Server这样的非MDB文件格式的数据库时,因它基于Access/Jet数据库引擎,访问速度会大大降低。
所以Visual Basic 6.0推出了ADO 技术。
ADO中文含意是ActiveX数据对象(ActiveX Data Object),它是一种面向对象的接口。
ADO访问数据库是通过访问OLEDB使用程序和OLE DB供给程序来进行的,它在封装OLE DB的程序中使用了大量的C OM接口,是一种高层的访问技术。
它在继承OLE DB的同时,大大简化了OLE DB的操作。
此外,ADO技术可以以ActiveX控件的形式出现,被广泛应用于Microsoft ActiveX页、Visual C++ 和Visual Basic的编程。
SQL是管理关系数据库系统的标准语言。
每一种关系数据库如Access、SQL Server、Oracle 等都有它自己特有的SQL语言,但它们都支持像select、insert、update、delete、create、drop等标准语句来完成几乎所有的对数据库的操作.本文就ADO 和SQL的用法做一些探讨。
2.开发原型我们为计算机产品经销商开发一个进销存的程序。
用MS Access 数据库,创建的数据库名叫ware.mdb. 在这个数据库中,建立表1,表2,表3,表4。
表1 商品明细表:wareDetail商品编号商品名称单价厂商库存wareID(ch10) wareName(ch30) wPrice(Money) manifest(ch40) numInLib(int)表2 流水账wAccount商品编号进货数出货数日期wareID(ch10) wQuantity(int) wSold(int) wDate(date)表3库存表wLib总库存数总库存金额TotalNum(int) TotalMoney(Money)表4临时表wInOut进货数出货数Quantity, Sold3.ADO的使用方法.ADO2.0存在于Visual Basic 6.0的两个独立的库中第一个称为ADODB,在Referen ces对话框中的名字是Microsoft ActiveX Data Objects 2.0 Library在这个库中包含了所有的ADO对象。
VB环境下ADO数据库开发技术

VB环境下ADO数据库开发技术摘要:ado技术是常用的数据库开发技术,vb6.0是简单易用的开发工具,基于vb6.0环境,采用ado技术对数据库进行开发和维护适用于小型数据库的管理。
本文从对象的定义、记录集的操作等方面对其应用进行了阐述。
关键词:ado vb 数据库0 引言数据库管理工具有多种,其中,access是微软开发的面向小型数据库管理的易用工具,其结构由各种数据表组成,每个表有若干字段,从而每个表中可以存放若干记录集。
微软的vb6.0 提供了多种开发数据库的技术,其中ado(activex data object)开发技术提供了一种对数据库程序简单的高层访问接口。
ado技术访问数据库相对于其他方式而言速度快,更加灵活,编程相对简单,应用更加广泛。
1 ado对象概述ado对象包括连接对象、命令对象、记录集对象、域对象、参数对象、属性对象、错误对象等。
其中,连接对象用于应用程序和数据源的连接,一个连接对象可以由多个命令或者记录集对象来使用;命令对象主要有执行命令函数execute等;记录集对象包含了从数据源返回的所有行及其中的表示各个列的域对象集合。
记录集对象是常用的ado对象,主要包括记录集移动函数、记录集打开及关闭函数、创建新纪录函数、删除及更新函数等。
2 vb中数据库相关控件简介vb6.0提供了多种控件,可以方便地使用ado技术进行数据库维护,主要控件包括adodc6.0及datagrid6.0等数据库控件及数据显示控件,combox和textbox控件也可以通过属性设置与adodc控件关联。
相关控件如图1所示。
3 vb6.0环境中数据库应用实例本实例针对用户登录、注册及注销进行操作,步骤如下:3.1 界面及数据库设计在登录界面,用到adodc数据库控件、combox控件及commandbutton控件等,界面如图2所示。
其中,adodc控件在使用前需要从vb环境的组件库调入。
用access2003创建数据库,数据库命名为test.mdb,并创建一个表,命名为“users”,其结构如图3所示。
数据库开发入门:VB+ADO

第七章数据库访问控件ADO7.1 ADO控件Visual Basic中可用的数据访问接口有三种:ActiveX数据对象(ActiveX Data Objects,ADO)、远程数据对象(RDO)和数据访问对象(DAO)。
这三种接口的每一种都分别代表了数据访问技术的不同发展阶段。
最新的是ADO,它是比RDO和DAO更加简单,然而更加灵活的对象模型。
目前,通常使用ADO作为数据访问接口。
图7-1 ADO数据存取控件ActiveX 数据对象拥有与其对应的可视化控件ADO Data控件(ADODC)。
可视化的ADODC具有“向前”和“向后”等按钮,因此易于使用。
ADO数据控件并非VB的标准控件,使用之前先要将ADODC加入工具箱图7-2 添加新部件右键单击工具箱空白处,选择“部件(O)…”命令。
系统弹出“部件”窗口,从“控件”选项卡中找到“Microsoft ADO Data Control 6.0 (OLEDB)”,选中并单击“确定”按钮。
于是,工具箱中将出现ADO控件图标。
图7-3 添加ADO控件7.2 使用ADO控件创建一个简单的前端数据库应用程序实例CH7-1 浏览联系人使用ADODC创建浏览联系人的界面,后台数据库使用ACCESS 2003“联系人示例数据库”Contact.mdb。
第1步:窗体上放置一个ADO Data 控件,命名为ADODC1。
第2步:在设计界面选定ADODC1,然后按F4键显示“属性”窗口。
第3步:在“属性”窗口中,单击“ConnectionString”显示属性设置对话框。
选中“使用连接字符串”,单击按钮,选择“Microsoft Jet 4.0 OLE DB Provider”,单击,在“连接”选项卡中选择数据库文件名。
如果数据库文件与当前的应用程序在同一个路径下,则可以省略路径名。
单击,如果数据库文件路径和格式正确,系统提示“测试连接成功。
”第4步:在“属性”窗口中,将“CommandType”(命令类型)属性设置为“2 -AdCmdTable”第5步:在“属性”窗口中,打开“RecordSource”(记录源)属性设置对话框,“表或存储过程名称”选择“联系人”表第6步:在窗体上放置三个“文本框”控件,用来显示数据库信息。
VB中ADO对象访问数据库编程方法解析

1引言目前在Visual Basic中开发数据库程序主要有D A O、R D O、A D O、O D B C四种数据库开发技术。
其中最流行的是A D O。
它是基于全新的O L E D B 技术。
O D B C本身是以SQL Server、Oracle等关系数据库作为访问对象;O L E D B则不仅限于此,而将是可以对电子邮件、文本文件、复合文件、数据表等各种各样的数据通过统一的接口进行存取的技术。
O L E D B不能从V B直接进行访问,但可以通过称为A D O的C O M 接口对它进行访问。
A D O也是开发基于W e b数据库应用软件的最佳手段。
A D O编程主要有两种方式,一种是A D O控件编程,即在程序的窗体当中必须添加A D O控件,然后通过调用A D O控件的属性和方法来进行编程。
但在开发大型数据库的时候,很少直接使用A D O控件来进行编程,而是在程序中调用A D O的对象即Connection、RecordSet等进行编程。
2基本原理A D O编程接口包括6个重要的对象,具体如下。
Connection(连接:这个接口表示正在使用的数据源和A D O接口之间的连接。
任何与数据源有交互连接的A D O都可能导致一个或多个从数据源返回的错误,因此C o n-nection接口包含了产生所有错误的接口。
E r r o r(错误集:这个接口表示一个由数据源返回的错误。
相对于Connection的错误集,Error更具体。
可以利用一个Error 来判读出错的准确原因。
C o m m a n d(命令:这个接口表示一个能被数据提供者处理的命令。
C o m m a n d接口可以返回一个R e c o r d S e t记录集或执行一个动作(如查询、修改、删除或插入。
任何时候查询或存储过程能接收的数据都能通过Parameter接口传给它。
Parameter(参数:这个接口表示传给C o m m a n d的参数。
Visual C ADO数据库编程入门

Visual C ADO数据库编程入门ADO 是目前在Windows环境中比较流行的客户端数据库编程技术。
ADO是建立在OLE DB底层技术之上的高级编程接口,因而它兼具有强大的数据处理功能(处理各种不同类型的数据源、分布式的数据处理等等)和极其简单、易用的编程接口,因而得到了广泛的应用。
而且按微软公司的意图,OLE DB和ADO将逐步取代ODBC和DAO。
现在介绍ADO各种应用的文章和书籍有很多,本文着重站在初学者的角度,简要探讨一下在VC++中使用ADO编程时的一些问题。
我们希望阅读本文之前,您对ADO技术的基本原理有一些了解。
一、在VC++中使用ADO编程ADO实际上就是由一组Automation对象构成的组件,因此可以象使用其它任何Automation对象一样使用ADO。
ADO中最重要的对象有三个:Connection、Command和R ecordset,它们分别表示连接对象、命令对象和记录集对象。
如果您熟悉使用MFC中的ODBC类(CD atabase、CRecordset)编程,那么学习ADO编程就十分容易了。
使用ADO编程时可以采用以下三种之一:1、使用预处理指令#import#import "C:\Program Files\Common Files\System\ADO\msado15.dll" \no_namespace rename("EOF", "EndOfFile")但要注意不能放在stdAfx.h文件的开头,而应该放在所有include指令的后面。
否则在编译时会出错。
程序在编译过程中,VC++会读出msado15.dll中的类型库信息,自动产生两个该类型库的头文件和实现文件msado15.tlh和msado15.tli(在您的Debug或Release目录下)。
在这两个文件里定义了ADO的所有对象和,以及一些枚举型的常量等。
VB中的ADO对象编程

2.打开记录集对象 2.打开记录集对象 实际上记录集返回的是一个从数据 库取回的查询结果集. 库取回的查询结果集.因此有三种打开方 法: 一种使用记录集的Open方法. Open方法 一种使用记录集的Open方法. 另一种是用Connection对象的Execute Connection对象的Execute方 另一种是用Connection对象的Execute方 法. 一种是用Command对象的Execute方法. Command对象的Execute方法 一种是用Command对象的Execute方法.
ADO中比较重要的 是:Command,Connection,Recordset对象
(1) Connection对象 Connection对象用于建立与数据库 对象用于建立与数据库 的连接, 的连接,通过连接可从应用程序访问数 据源.它保存诸如指针类型 连接字符串, 它保存诸如指针类型,连接字符串 据源 它保存诸如指针类型 连接字符串 查询超时,连接超时和缺省数据库这样的 查询超时 连接超时和缺省数据库这样的 连接信息. 连接信息.
VB中的 中的ADO对象 中的 对象 编程
补充内容
ADO(ActiveX Data Objects) ActiveX数据对象
是微软最新的数据访问技术,与OLE DB 一起工作. OLE DB是一个低层的基于 COM 的数据访问接口,它向应用程序提 供了一个统一的数据访问方法,用它可 以访问各种数据源,包括关系型数据库, 电子邮件系统,自定义的商业对象. 其模型如下:
2) Command对象 Command对象 在建立Connection Connection后 在建立Connection后,可以发出命令 操作数据源.一般情况下,Command ,Command对象 操作数据源.一般情况下,Command对象 可以在数据库中添加,删除或更新数据, 可以在数据库中添加,删除或更新数据, 或者在表中进行数据查询.Command对象 或者在表中进行数据查询.Command对象 在定义查询参数或执行一个有输出参数 的存储过程时非常有用. 的存储过程时非常有用.
VB中ADO对象访问数据库编程方法解析

1引言目前在Visual Basic中开发数据库程序主要有D A O、R D 0、A D O、O DBC四种数据库开发技术。
其中最流行的是AD0。
它是基于全新的O L E D B 技术。
O D B C本身是以SQL Server、Oracle等关系数据库作为访问对象;0 L ED B则不仅限于此,而将是可以对电子邮件、文本文件、复合文件、数据表等各种各样的数据通过统一的接口进行存取的技术。
O LE D B不能从V B直接进行访问,但可以通过称为A D O的C O M接口对它进行访问。
A D O也是开发基于W e b数据库应用软件的最佳手段。
A D O编程主要有两种方式,一种是A D O控件编程,即在程序的窗体当中必须添加A D O控件,然后通过调用A D O控件的属性和方法来进行编程。
但在开发大型数据库的时候,很少直接使用A D O控件来进行编程,而是在程序中调用A D O的对象即Connection、RecordSet等进行编程。
2基本原理A D O编程接口包括6个重要的对象,具体如下。
Connection连接:这个接口表示正在使用的数据源和A D O接口之间的连接。
任何与数据源有交互连接的ADO都可能导致一个或多个从数据源返回的错误,因此C o n-nection接口包含了产生所有错误的接口。
E r r o r(错误集:这个接口表示一个由数据源返回的错误。
相对于Conn ection 的错误集,Error更具体。
可以利用一个Error来判读出错的准确原因。
C o m m a n d(命令:这个接口表示一个能被数据提供者处理的命令。
C o m m an d接口可以返回一个R e c o r d S e ti记录集或执行一个动作(如查询、修改、删除或插入。
任何时候查询或存储过程能接收的数据都能通过Parameter接口传给它Parameter参数:这个接口表示传给C o m m a n d的参数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第七章数据库访问控件ADO
7.1 ADO控件
Visual Basic中可用的数据访问接口有三种:ActiveX数据对象(ActiveX Data Objects,ADO)、远程数据对象(RDO)和数据访问对象(DAO)。
这三种接口的每一种都分别代表了数据访问技术的不同发展阶段。
最新的是ADO,它是比RDO和DAO更加简单,然而更加灵活的对象模型。
目前,通常使用ADO作为数据访问接口。
图7-1 ADO数据存取控件
ActiveX 数据对象拥有与其对应的可视化控件ADO Data控件(ADODC)。
可视化的ADODC具有“向前”和“向后”等按钮,因此易于使用。
ADO数据控件并非VB的标准控件,使用之前先要将ADODC加入工具箱
图7-2 添加新部件
右键单击工具箱空白处,选择“部件(O)…”命令。
系统弹出“部件”窗口,从“控件”选项卡中找到“Microsoft ADO Data Control 6.0 (OLEDB)”,选中并单击“确定”按钮。
于
是,工具箱中将出现ADO控件图标。
图7-3 添加ADO控件
7.2 使用ADO控件创建一个简单的前端数据库应用程序
实例CH7-1 浏览联系人
使用ADODC创建浏览联系人的界面,后台数据库使用ACCESS 2003“联系人示例数据库”Contact.mdb。
第1步:窗体上放置一个ADO Data 控件,命名为ADODC1。
第2步:在设计界面选定ADODC1,然后按F4键显示“属性”窗口。
第3步:在“属性”窗口中,单击“ConnectionString”显示属性设置对话框。
选中“使用连接字符串”,单击按钮,
选择“Microsoft Jet 4.0 OLE DB Provider”,单击,在“连接”选项卡中选择数据库文件名。
如果数据库文件与当前的应用程序在同一个路径下,则可以省略路径名。
单击,如果数据库文件路径和格式正确,系统提示“测试连接成功。
”第4步:在“属性”窗口中,将“CommandType”(命令类型)属性设置为“2 -AdCmdTable”第5步:在“属性”窗口中,打开“RecordSource”(记录源)属性设置对话框,“表或存储过程名称”选择“联系人”表
第6步:在窗体上放置三个“文本框”控件,用来显示数据库信息。
在“属性”窗口中,将三个文本框的“数据源”属性设为ADO Data 控件的名称(ADODC1)。
这样
就可将这个文本框和ADO Data控件绑定在一起。
三个文本框控件的“DataField”
(数据字段)属性分别设置为“姓氏”、“名字”和“办公电话”。
由于三个文本
框分别与数据库中的字段绑定在一起,为了防止用户意外修改记录,通常将文本
框的Locked属性设为True。
第7步:运行该应用程序。
用户可以在ADO Data 控件使用四个箭头按钮浏览所有记录。
需要说明的是,“RecordSource”(记录源)属性也可以使用“命令文本”,即SQL语句。
为此,只要将以上“第4步”和“第5步”应换成如下过程即可。
第4步:在“属性”窗口中,将“CommandType”(命令类型)属性设置为“2 -AdCmdText”。
第5步:在“属性”窗口中,打开“RecordSource”(记录源)属性设置对话框,“命令
文本(SQL)”中填入如下SQL语句“select * from联系人”
7.3 操作数据表中的记录
实例CH7-2 添加系统用户
使用ADODC控件向数据库文件mydb.mdb中的sysuser表添加新记录。
第1步:界面设计如下,
第2步:ADODC控件命名为ADODC1,参照实例CH7-1中的第3步至第5步连接到数据库mydb.mdb并以sysuser表作为数据源(使用SQL语句或表均可)。
第3步:四个文本框的Locked属性设置为True,然后绑定数据源,即DataSource属性设为ADODC1,DataField属性分别设为字段名sysuser的secondname、firstname、pid 和power。
第4步:“添加新用户”按钮代码如下,
实例CH7-3 删除系统用户
使用ADODC控件删除数据库文件mydb.mdb的sysuser表中已经存在的用户。
第1步:在实例CH7-2的基础上添加一个“删除老用户”按钮,界面设计如下,
第2步: “删除老用户”按钮的代码如下,
实例CH7-4 设置用户密码
使用ADODC 控件修改数据库文件mydb.mdb 的sysuser 表中用户的信息。
第1步:
在实例CH7-3的基础上添加一个“设置密码”的按钮,界面设计如下,
第2步:
“设置密码”按钮的代码如下,
7.4 执行查询
实例CH7-5 查询联系人
使用ADODC 查询联系人,数据库使用ACCESS 2003“联系人示例数据库”Contact.mdb 。
第1步:
在实例CH7-1
中新增“按姓氏查询”和“按名字查询”两个按钮,分别命名为
cmdFindSecondName和cmdFindFirstName界面设计如下,
第2步:这两个按钮的单击事件填写如下代码,
7.5 综合实例
实例CH7-6 查询客户订单
数据库使用ACCESS2003的示例数据库“罗斯文数据库(Northwind.mdb)”,界面设计如下,
该数据库结构如下图所示:
核心代码如下:
Private Sub Adodc1_MoveComplete(ByVal adReason As ADODB.EventReasonEnum, ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset)
Adodc1.Caption = "第" & Adodc1.Recordset.AbsolutePosition & _
"条记录共" & Adodc1.Recordset.RecordCount & "条记录"
End Sub
Private Sub Combo1_Click()
Adodc1.RecordSource = "SELECT 产品.产品名称, 订单明细.单价, 订单明细.数量, 订单明细.折扣, " + _ " [订单明细]![单价]*[订单明细]![数量]*(1-[订单明细]![折扣]) AS 金额, 客户.公司名称" + _
" FROM 客户INNER JOIN (订单INNER JOIN" + _
" (产品INNER JOIN 订单明细ON 产品.产品ID = 订单明细.产品ID)" + _
" ON 订单.订单ID = 订单明细.订单ID) ON 客户.客户ID = 订单.客户ID" + _
" WHERE 客户.公司名称= '" + Combo1.Text + "'"
Adodc1.Recordset.Requery
Adodc1.Refresh
End Sub
Private Sub Form_Load()
Adodc1.RecordSource = "select * from 客户"
Adodc1.Recordset.Requery
Adodc1.Refresh
Combo1.Clear
Adodc1.Recordset.MoveFirst
Do While Not Adodc1.Recordset.EOF
Combo1.AddItem Adodc1.Recordset.Fields("公司名称")
Adodc1.Recordset.MoveNext
Loop
Combo1.ListIndex = 0
Adodc1.RecordSource = "SELECT 产品.产品名称, 订单明细.单价, 订单明细.数量, 订单明细.折扣, " + _ " [订单明细]![单价]*[订单明细]![数量]*(1-[订单明细]![折扣]) AS 金额, 客户.公司名称" + _
" FROM 客户INNER JOIN (订单INNER JOIN" + _
" (产品INNER JOIN 订单明细ON 产品.产品ID = 订单明细.产品ID)" + _
" ON 订单.订单ID = 订单明细.订单ID) ON 客户.客户ID = 订单.客户ID" + _
" WHERE 客户.公司名称= '" + Combo1.Text + "'"
Adodc1.Recordset.Requery
Adodc1.Refresh
End Sub。