窗体上加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等前面几个字母后直接自动完成关键字),测试通过。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)