如何使用DAO在VB6.0中建立数据库,表,以及添加修改记录

如何使用DAO在VB6.0中建立数据库,表,以及添加修改记录,第1张

给你一个创建数据库的例子;

窗体上加3个按钮分别执行,创建数据库与表,添加记录,修改记录。

'首先通过菜单【工程】--【引用】,勾选 Microsoft DAO 3.6 Object Library

'其中版本号3.6,看你计算机具体情况而选择,当然版本越高越新。

Option Explicit

Private Sub Command1_Click()

Dim MyWs As Workspace '工作区

Dim MyDB As Database'数据库对象

Dim myTBL As TableDef '数据表对象

Dim MyFid(9) As Field '字段对象

Dim i As Integer

If Dir(App.Path &"\实验数据库.mdb") <>"" Then Kill App.Path &"\实验数据库.mdb"

'创建工作区

Set MyWs = DBEngine.Workspaces(0)

'创建数据库文件

'Set MyDB = MyWs.Workspaces(0).CreateDatabase(App.Path &"\F实验数据库.mdb")

Set MyDB = MyWs.CreateDatabase(App.Path &"\实验数据库.mdb", dbLangGeneral, dbEncrypt)

'创建表

Set myTBL = MyDB.CreateTableDef("学生数据表")

'创建字段

Set MyFid(1) = myTBL.CreateField("学号", dbText, 4)

Set MyFid(2) = myTBL.CreateField("姓名", dbText, 10)

Set MyFid(3) = myTBL.CreateField("性别", dbText, 2)

Set MyFid(4) = myTBL.CreateField("备注", dbText, 4)

Set MyFid(5) = myTBL.CreateField("籍贯", dbText, 10)

Set MyFid(6) = myTBL.CreateField("出生年月", dbDate, 8)

Set MyFid(7) = myTBL.CreateField("家庭住址", dbText, 40)

Set MyFid(8) = myTBL.CreateField("联系电话", dbText, 50)

Set MyFid(9) = myTBL.CreateField("户籍地址", dbText, 40)

'将字段加入到Field集合

For i = 1 To 9

myTBL.Fields.Append MyFid(i)

Next i

'将表加入到数据库中

MyDB.TableDefs.Append myTBL

End Sub

Private Sub Command2_Click()

Dim MyWs As Workspace '工作区

Dim MyDB As Database'数据库对象

Dim Rs As Recordset '记录集对象

'创建工作区

Set MyWs = DBEngine.Workspaces(0)

'创建数据库文件

'Set MyDB = MyWs.Workspaces(0).CreateDatabase(App.Path &"\F实验数据库.mdb")

Set MyDB = MyWs.OpenDatabase(App.Path &"\实验数据库.mdb")

'返回记录集

Set Rs = MyDB.OpenRecordset("Select * From 学生数据表")

Rs.AddNew

Rs.Fields("学号") = "101"

Rs.Fields("姓名") = "张老三"

Rs.Fields("性别") = "男"

Rs.Fields("备注") = "在籍"

Rs.Fields("籍贯") = "江苏"

Rs.Fields("出生年月") = #11/16/1992#

Rs.Fields("家庭住址") = "长江路1000号2001室"

Rs.Fields("联系电话") = "12345678"

Rs.Fields("户籍地址") = "长江路1000号2001室"

Rs.Update

End Sub

Private Sub Command3_Click()

Dim MyWs As Workspace '工作区

Dim MyDB As Database'数据库对象

Dim Rs As Recordset '记录集对象

'创建工作区

Set MyWs = DBEngine.Workspaces(0)

'创建数据库文件

'Set MyDB = MyWs.Workspaces(0).CreateDatabase(App.Path &"\F实验数据库.mdb")

Set MyDB = MyWs.OpenDatabase(App.Path &"\实验数据库.mdb")

'返回记录集

Set Rs = MyDB.OpenRecordset("Select * From 学生数据表")

'定位到要修改的记录

Rs.FindFirst "学号='101'"

If Rs.NoMatch Then

'没有找到要找的记录

MsgBox ("不存在要找的记录:")

Else

'找到要找的记录,进行修改某一个或几个字段

Rs.Edit

Rs.Fields("籍贯") = "浙江"

Rs.Fields("出生年月") = #1/28/1991#

Rs.Update

MsgBox ("修改成功!")

End If

End Sub

是ADO吧.ADO只是VB或是其他语言与数据库的桥接功能.也就是说语言要通过ADO给数据库进行修改删除更新建立表索引视图等等一系的数据 *** 作.

再说一下关系型数据库,在关系型数据库中每一条记录对应一个实体,本身不强调其顺序问题,所以在关系型数据库 *** 作时无法确定你将某条记录插入到指定的位置!而ADO只是一个桥接功能,所以也是无法进行指定位置的记录添加的!

刚刚试了试,CreatDatabase方法的最后一个可选参数是创建的数据库的版本,如果你使用的高版本DAO不支持该版本(例如3.6中就只有V10以上的版本),那么最后一个参数dbVersion70就是没定义过的,可能导致出错。直接省去那个参数就行了,或者使用该DAO支持的版本(输入dbVers等前面几个字母后直接自动完成关键字),测试通过。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11436893.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存