VB通过DAO访问Access数据库

带电指示器
VB通过DAO访问Access数据
DAO就是Database Access Object,数据库访问对象的英文缩写。在VB中提供了两种与Jet数据库引擎接口的方法Data控件和数据访问对象(DAO)。Data控件只给出有限的不需编程而能访问现存数据库的功能,而DAO模型则是全面控制数据库的完整编程接口。Data控件将常用的DAO功能封装在其中,它与DAO控件的关系就好象内存与CACHE之间的关系一样,所以这两种方法并不是互斥的,实际上,它们常同时使用

引用DAO类型库
1、从“工程”菜单中选择“引用”菜单项;
2、在可引用列表框中选择“Microsoft DAO 3.6 Object Library”项
3、最后“确定”即可

设置DAO数据类型变量
DAO数据类型变量共分成两种:
1Database变量
Public db As Database
对应于Access数据库,通常在模块中被定义为Public全程变量
2RecordSet变量
Dim rs As RecordSet

设置DAO数据类型变量(二)
建立了数据库对象变量后,我们便可打开数据库了,在一般情况下都只是访问一个数据库,当打开数据库后再对数据库中的各个记录进行操作,这就要用到Recordset 对象建立记录集
例如:

打开数据库
Private Sub Command_OpenDatabase_Click() Dim db as Database Dim rs As Recordset Set db = OpenDatabase ( App.path & "\数据库名称洗车房.mdb" ) Set rs = db.OpenRecordset ( " select * from 表名 " ) End Sub 这样,数据库中的记录便放到Recordset中,可以进行后续
操作了

Opendatabase 方法
Opendatabase 方法是打开数据库并返回此数据库的database对象,其语法如下:
Set database的对象变量=opendatabase ([数据库名称及路径],[除外性],[只读])
除外性:由truefalse值所构成,当值为true时代表仅允许唯一的使用者使用数据库。
只读:由truefalse值所构成,为true代表数据库仅提供读取的服务

Opendatabase 方法(二)
OpenDatabase方法有两种给出路径的方法
Set db = OpenDatabase ( App.path & "\student.mdb" )
App.path对象返回目前运行程序所在的路径名称,使用相当路径避免了程序变换了路径的麻烦,但必须保证数据库和程序在同一文件夹下
Set db=OpenDatabase(“e:\student.mdb" ,
false,false)


Openrecordset 方法
Openrecordset方法用来创建一个新的recordset对象,语法为:
Set recordset 对象变量=数据库变量.openrecordset(来源,种类)
Vb所提供的recordset对象有5种,分别为:表(table)、动态集(dynaset)、快照集(snapshot)、动态(dynamic)、正向(forward-only),其中经常用的时动态集(dynaset),它实际上是引用一个或多个表种数据记录的集合,是功能最强的数据记录集合类型

Openrecordset 方法
Set rs = db.OpenRecordset ( " select * from 表名 " )
Set rs = db.OpenRecordset ( select * from 表名 ”,dbopendynaset )

Fields集合
Fields集合包括结果集合全部 Field对象,这些 Field对象引用方法为: RS.Fields(i),其中 i鞋帮
是该 Field对象在中的位置序号,从 0开始计数, RS.Fields(0)表示你的数据库的第一个字段,如:
RS.Fields(i)=”111

使用数据库
当打开数据库,建立Recordset 记录集后,便可浏览、删除、添加、查数据库中的内容办公椅扶手
使text显示数据如下:
Text1.caption=rs.fields(0)
Text1(i).caption=rs.fields(i)
Recordcount 属性
Recordcount 属性用来记录目前数据记录的数量,如判断数据库是否为空:
dcount > 0 then
End if

删除记录
Private Sub cmd_del_Click() On Error GoTo handle Dim msg as string msg = "是否要删除记录"& Chr$(10) msg = msg & label(0) ′把删除记录的代号加入msg If Msgbox(msg , 17 , "删除记录") <> 1 Then Exit sub rs.delete rs.Movenext If rs.EOF = True Then rs.MovePrevious End if  

删除记录(二)
for i = 0 to 11 label(i).caption = rs.Fields(i) & "" next Exit Sub
handle: MsgBox "该记录无法删除!!!" End Sub
On error goto 语法
目的是为了程序运行时,一旦发生错误,即可通过该程序代码,将程序运行流程切换到适当位置,进行适当处理,避免死机
On error goto 的程序代码编写位置,必须在发生错误的程序代码之前,因此,常常将它写在程序或某个程序功能模块的最前面
添加记录
向数据库中添加记录比较麻烦一点,大致分为三步:首先,用AddNew方法向数据库添加
一个新的空白记录;其次,将要输入的数据分别赋到数据库的各个字段中;最后,用Updatasmartthreads的方法,把记录写到数据库中去 太阳能炉灶

添加记录
Private Sub cmd_new_Click() rs.AddNew For i = 0 to 11 rs.Fields(i) = TextBox(i).Text Next rs.Updata End Sub  
查记录
Private Sub Cmd_search_Click() Set rs = dbase.openRecordset("表名"dbopenDynaset) rs.findfirst "字段名= ' " & Text.Text & " ' " Text.Text是输入的关键字 if rs.Nomatch = True then Msgbox "对不起,没有该记录" else For i = 0 to 11 label(i).caption = rs.Fields(i) & "" Next End if rs.close End Sub  
修改记录
Rs.edit
Rs.fields(I)=text1(I)
Rs.updata

本文发布于:2024-09-21 17:37:06,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/170764.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:数据库   记录   对象   数据   方法   集合   变量
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议