教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 外语考试 >

数据库开发入门:VB+ADO

来源:网络收集 时间:2026-09-05
导读: 数据库访问控件ADO 9.1 ADO控件 Visual Basic中可用的数据访问接口有三种:ActiveX数据对象(ActiveX Data Objects,ADO)、远程数据对象(RDO)和数据访问对象(DAO)。这三种接口的每一种都分别代表了数据访问技术的不同发展阶段。最新的是ADO,它是比RDO和DAO更

数据库访问控件ADO

9.1 ADO控件

Visual Basic中可用的数据访问接口有三种:ActiveX数据对象(ActiveX Data Objects,ADO)、远程数据对象(RDO)和数据访问对象(DAO)。这三种接口的每一种都分别代表了数据访问技术的不同发展阶段。最新的是ADO,它是比RDO和DAO更加简单,然而更加灵活的对象模型。目前,通常使用ADO作为数据访问接口。

图9-1 ADO数据存取控件

ActiveX 数据对象拥有与其对应的可视化控件ADO Data控件(ADODC)。可视化的ADODC具有“向前”和“向后”等按钮,因此易于使用。ADO数据控件并非VB的标准控件,使用之前先要将ADODC加入工具箱

图9-2 添加新部件

右键单击工具箱空白处,选择“部件(O)…”命令。系统弹出“部件”窗口,从“控件”选项卡中找到“Microsoft ADO Data Control 6.0 (OLEDB)”,选中并单击“确定”按钮。于是,工具箱中将出现ADO控件图标

图9-3 添加ADO控件

9.2 使用ADO控件创建一个简单的前端数据库应用程序

实例CH9-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步: 第5步:

在“属性”窗口中,将“CommandType”(命令类型)属性设置为“2 - AdCmdText”。 在“属性”窗口中,打开“RecordSource”(记录源)属性设置对话框,“命令

文本(SQL)”中填入如下SQL语句“select * from联系人”

9.3 操作数据表中的记录

实例CH9-2 添加系统用户

使用ADODC控件向数据库文件mydb.mdb中的sysuser表添加新记录。 第1步:

界面设计如下,

第2步: 第3步:

ADODC控件命名为ADODC1,参照实例CH9-1中的第3步至第5步连接到数四个文本框的Locked属性设置为True,然后绑定数据源,即DataSource属性

据库mydb.mdb并以sysuser表作为数据源(使用SQL语句或表均可)。

设为ADODC1,DataField属性分别设为字段名sysuser的secondname、firstname、pid和power。 第4步:

“添加新用户”按钮代码如下,

实例CH9-3 删除系统用户

使用ADODC控件删除数据库文件mydb.mdb的sysuser表中已经存在的用户。 第1步:

在实例CH9-2的基础上添加一个“删除老用户”按钮,界面设计如下,

第2步: “删除老用户”按钮的代码如下,

实例CH9-4 设置用户密码

使用ADODC控件修改数据库文件mydb.mdb的sysuser表中用户的信息。 第1步:

在实例CH9-3的基础上添加一个“设置密码”的按钮,界面设计如下,

第2步:

“设置密码”按钮的代码如下,

7.4 执行查询

实例CH9-5 查询联系人

使用ADODC查询联系人,数据库使用ACCESS 2003“联系人示例数据库”Contact.mdb。 第1步:

在实例CH9-1

中新增“按姓氏查询”和“按名字查询”两个按钮,分别命名为

cmdFindSecondName和cmdFindFirstName界面设计如下,

第2步:

这两个按钮的单击事件填写如下代码,

9.5 综合实例

实例CH9-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 …… 此处隐藏:1723字,全部文档内容请下载后查看。喜欢就下载吧 ……

数据库开发入门:VB+ADO.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/1693148.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)