在VB中用DAO实现数据库编程
2008-02-23 06:51:30来源:互联网 阅读 ()
DAO使用之前必须先引用。方法为打开VB6.0 , 从VB的"工程"菜单中,选择"引用"项,当"引用"对话框出现后,从库的列表中,选择"Microsoft DAO 3.51 Object Library",单击"确定"。现在便可以使用DAO对象库提供的所有对象进行编程了。
一、 创建数据库:
在DAO中用CreatDataBase方法可以根据用户需求动态的创建数据库。这一点在程序中是非常有用的。用户可以根据要求实时建立数据库。建立过程如下:
Private Sub Com_creat_Click()
On Error GoTo Err100
CreatDataBase "数据库名称.mdb" ,dbLangGeneral
Msgbox "数据库建立完毕"
Exit Sub
Err100:
MsgBox "不能建立数据库! " & vbCrLf & vbCrLf & Err.Description, vbInformation
End Sub
这样,数据库便在当前默认的路径下建立了。
二、 创建表与字段:
建立数据库后,则需要在该数据库中建立表,这要用到TableDef 对象。先定义一个TableDef类型的对象,然后用TableDef集合中Append方法将之追加到数据库当中去。并且同时定义一个Field对象,用CreatFiele的方法创建一个Field对象,向表中添加字段。例如:
Private Sub Com_table_Click()
On Error GoTo Err100
Dim Defdb As DataBase
Dim NewTable As TableDef
Dim NewField As Field
Set Defdb = Workspaces(0).OpenDatabase (App.path & "\数据库名称.mdb" ,0, False)
Set NewTable = DefDataBase.CreateTableDef("表名")
Set NewField = DefTable.CreateField( "字段名" , dbText ,6) ′创建一个字符型的字段,长度为6个字符
DefTableFields.Append NewField ′字段追加
DefDatabase.TableDefs.Append NewTable ′表追加
Msgbox " 表建立完毕 "
Exit Sub
Err100:
MsgBox "对不起,不能建立表。请先再建表前建立数据库?", vbCritical
End Sub
一个数据库可能有十几个甚至几十个字段,一个表中有多少个字段,则要创建多少次并要追加到表中。每建立一个字段后都要用到字段追加命令,但是表追加只需在所有字段建立完成后用一条命令即可完成。
三、 打开数据库:
在VB中,对一个对象变量引用之前必须加以说明。DAO也是如此,必须先声明数据库变量,例如:Dim dbase As Database 。建立了数据库对象变量后,我们便可打开数据库了,在一般情况下都只是访问一个数据库,当打开数据库后再对数据库中的各个记录进行操作,这就要用到Recordset 对象建立记录集。例如:
Private Sub Command_OpenDatabase_Click()
Dim dbase as Database
Dim rs As Recordset
Set dbase = OpenDatabase ( App.path & "\数据库名称.mdb" )
Set rs = dbase.OpenRecordset ( " select * from 表名 " )
End Sub
这样,数据库中的记录便放到Recordset中,可以进行后续操作了。
四、 使用数据库:
当打开数据库,建立Recordset 记录集后,便可浏览、删除、添加、查找数据库中的内容。
1) 向前浏览
Private Sub cmd_previous_Click()
rs.MovePrevious
if rs.BOF =True then
rs.Movelast
End if
for i = 0 to 11
label(i).caption = rs.F ie lds(i) & ""
next
End Sub
在字段赋值的末尾加上""可以避免许多不必要的错误,在数据库中,当一个字段为空的时候,它的值为Null ,Null表示什么也没有。因此无法赋值,赋给变量时会出错。但我们加上""空格符时,便有效的避免了赋值错误,这个技巧非常的有用。
2) 向后浏览
Private Sub cmd_next_Click()
rs.MoveNext
If rs.EOF =True then
rs.MoveFirst
End if
for i = 0 to 11
label(i).caption = rs.Fields(i) & ""
next
End Sub
3) 删除记录
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
handle:
MsgBox "该记录无法删除!!!"
Exit Sub
End Sub
4) 添加记录
向数据库中添加记录比较麻烦一点,大致分为三步:首先,用AddNew方法向数据库添加一个新的空白记录;其次,将要输入的数据分别赋到数据库的各个字段中;最后,用Updata的方法,把记录写到数据库中去。例如:
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:用VB计算1 1=2
下一篇:VB编程之路-如何让界面美化
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash