在vb中如何编程使mdb数据库集成到程序里-mdb女腰使决系列
DAO(Data Access Object)全称Data Access Object,是数据库编程的重要方法之一。 DAO的一个面向对象的接口接口,特点是它不是一个可视对象,所有的使用都必须通过编码来完成。 DAO 是用于设计关系数据库系统结构的对象类的集合。 它提供了完成管理此类系统所需的所有操作的属性和方法,包括创建数据库、定义表、字段和索引、建立表之间的关系以及定位和查询数据库等工具。 由于ADO(ActiveX Data Object ActiveX Data Object)的出现,DAO的使用已经大大减少,但是它可以在不使用ODBC(Open Database Connection)的情况下连接各种数据源,所以我们还是经常使用经典的DAO。 下面给大家详细介绍一下如何使用DAO编程。
使用前必须引用 DAO。 方法是打开VB6.0,从VB的“项目”菜单中选择“引用”项,当出现“引用”对话框时,从库列表中选择“Microsoft DAO 3.51对象库”,单击“确定” ”。 现在您可以使用 DAO 对象库提供的所有对象进行编程。
1.创建数据库:
使用DAO中的CreateDataBase方法可以根据用户需要动态创建数据库。 这在程序中非常有用。 用户可以根据自己的需求实时建立数据库。 成立过程如下:
私有子 Com_creat_Click()
出错时转到 Err100
CreateDataBase "数据库名.mdb", dbLangGeneral
Msgbox "数据库已创建"
退出子
错误100:
MsgBox "无法创建数据库!" & vbCrLf & vbCrLf & Err.Description, vbInformation
结束子
这样数据库就建立在当前默认路径下了。
2、创建表和字段:
数据库创建完成后,需要在数据库中创建一个表,其中使用了TableDef对象。 首先定义一个TableDef类型的对象,然后使用TableDef集合中的Append方法将其追加到数据库中。 并同时定义一个Field对象,使用CreateFiele的方法创建一个Field对象,向表中添加字段。 例如:
私有子 Com_table_Click()
出错时转到 Err100
Dim Defdb 作为数据库
将 NewTable 调暗为 TableDef
将新字段调暗为字段
设置 Defdb = Workspaces(0).OpenDatabase (App.path & "\database name.mdb" ,0, False)
Set NewTable = DefDataBase.CreateTableDef("表名")
Set NewField = DefTable.CreateField( "Field Name", dbText ,6) '创建一个长度为6个字符的字符字段
DefTableFields.Append NewField '字段追加
DefDatabase.TableDefs.Append NewTable '表追加
Msgbox "表已创建"
退出子
错误100:
MsgBox "抱歉,无法创建表。请先创建数据库再创建表?", vbCritical
结束子
一个数据库可能有十几个甚至几十个字段。 表中有多少字段,以及创建和追加到表的次数。 field append 命令在每个字段创建后使用,而table append 只需要在所有字段创建后用一条命令完成。
3.打开数据库:
在 VB 中,对象变量必须在引用前声明。 DAO也是一样,必须先声明数据库变量,例如:Dim dbase As Database。 建立数据库对象变量后,我们就可以打开数据库了。 一般来说,我们只访问一个数据库。 打开数据库后,我们需要使用Recordset对象来创建一个记录集。 例如:
私有子命令_OpenDatabase_Click()
昏暗数据库作为数据库
将 rs 调暗为记录集
Set dbase = OpenDatabase ( App.path & "\database name.mdb" )
Set rs = dbase.OpenRecordset("select * from table name")
结束子
这样就把数据库中的记录放到了Recordset中,就可以进行后续的操作了。
四、使用数据库:
当您打开数据库并创建 Recordset 记录集时,您可以浏览、删除、添加和搜索数据库中的内容。
(未完)
1)向前浏览
私有子 cmd_previous_Click()
rs.MovePrevious 的
如果 rs.BOF =True 那么
rs。 莫夫拉斯特
万一
因为我 = 0 到 11
label(i).caption = rs.Fields(i) & ""
下一个
结束子
在字段赋值末尾加上“”可以避免很多不必要的错误。 在数据库中,当一个字段为空时,它的值为Null,Null代表什么都没有。 因此不能给它赋值,给变量赋值时会出错。 但是当我们加上""空格字符的时候,就可以有效的避免赋值错误。 这个技巧非常有用。
2)向后浏览
私有子 cmd_next_Click()
rs.移动下一步
如果 rs.EOF =True 那么
rs。 先行
万一
因为我 = 0 到 11
label(i).caption = rs.Fields(i) & ""
下一个
结束子
3)删除记录
私有子 cmd_del_Click()
出错时转到句柄
将消息调暗为字符串
msg = "是否删除记录" & Chr$(10)
msg = msg & label(0) '将被删除记录的code添加到msg中
If Msgbox(msg , 17 , "删除记录") 1 Then Exit sub
rs.删除
rs。 下一个
如果 rs.EOF = True 那么
rs.MovePrevious 的
万一
因为我 = 0 到 11
label(i).caption = rs.Fields(i) & ""
下一个
处理:
MsgBox "记录不能删除!!!"
退出子
结束子
4) 添加记录
向数据库中添加记录稍微麻烦一点,大致分为三步:首先,使用AddNew方法向数据库中添加一条新的空白记录; 第二,将要输入的数据分配给数据库的各个字段; 最后,使用Updata方法,将记录写入数据库。 例如:
私有子 cmd_new_Click()
rs.添加新
对于 i = 0 到 11
rs.Fields(i) = TextBox(i).Text
下一个
rs.更新数据
结束子
5)查找记录
您可以使用 Find 方法查找记录在vb中如何编程使mdb数据库集成到程序里,例如:
私有子 Cmd_search_Click()
设置 rs = dbase.openRecordset("表名", dbopenDynaset)
rs.findfirst "Field name = ' " & Text.Text & " ' " ' Text.Text为输入关键字
如果 rs。 Nomatch = True 那么
Msgbox "对不起,没有该记录"
别的
对于 i = 0 到 11
label(i).caption = rs.Fields(i) & ""
下一个
万一
rs.关闭
结束子
以上只是对DAO最常见、最典型的一些用法的概括介绍,真正掌握它还需要不懈的努力。 当你对 DAO 有了很好的了解后,对学习新的 RDO 和 ADO 也很有帮助。 而且DAO和ADO是可以同时使用的,DAO的缺点是搜索功能不强,不如ADO方便在vb中如何编程使mdb数据库集成到程序里,但是动态创建数据库远比ADO多,所以有时候两者结合使用更加强大。 我们相信 DAO 一定会为您节省宝贵的时间,为您的工作提供便利。