数据库开发入门:VB+ADO

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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

相关文档
最新文档