打开数据库 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 ([数据库名称及路径],[除外性],[只读]) 除外性:由true和false值所构成,当值为true时代表仅允许唯一的使用者使用数据库。 只读:由true和false值所构成,为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 )
使用数据库 当打开数据库,建立Recordset 记录集后,便可浏览、删除、添加、查找数据库中的内容 使text显示数据如下: Text1.caption=rs.fields(0) Text1(I).caption=rs.fields(I) Recordcount 属性 Recordcount 属性用来记录目前数据记录的数量,如判断数据库是否为空: If rs.recordcount > 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方法向数据库添加一个新的空白记录;其次,将要输入的数据分别赋到数据库的各个字段中;最后,用Updata的方法,把记录写到数据库中去
添加记录 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