2.对连接的数据库执行SQL查询,打开指定的数据表或定义记录集。
3.把数据字段传送到各种约束控件,并可在约束控件中显示或修改数据字段的值。
4.根据约束字段中数据的变化,添加新记录或更新数据库。
5.捕获访问数据时出现的错误。
6.关闭数据库。
Data控件可以使用三种类型的Recordset对象中的任何一种来提供对存储在数据库中数据的访问。Recordset(记录集)作为一个对象,可以是数据库中的一组记录,也可以是整个数据表或者表的一部分。记录集分为三种类型:Table、Dynaset和Snapshot。表类型记录集(Table)包含表中所有记录,对数据表中的数据所进行的增加、删除、修改等操作,直接更新数据。动态集类型记录集(Dynaset)可以包含来自于一个或多个表中记录的集合,对这种类型的数据表所进行的各种操作都先在内存中进行,以提高运行速度。以快照类型记录集(Snapshot)打开的数据表或由查询返回的数据仅供读取而不能更改,主要适用于进行查询工作。
双击Data控件或单击后在窗体上拖动出控件的大小,都可以看到Data控件的外观,如图10.5所示。
图 2.1 Data控件
2.4.1 常用属性
1.Connect:指定链接的数据库的类型,默认值为Access。
2.DatabaseName:用于确定数据控件使用的数据库的完整路径。
3.RecordSource:指定数据控件所链接的记录来源,可以是数据表名,也可以是查询名。
4.RecordsetType:指定数据控件存放记录集的类型,默认为Dynaset。
5.BofAction:当移动到记录开始时程序将执行的操作。
6.EofAction:当移动到记录结尾时程序将执行的操作。
7.ReadOnly:控制能否对记录集进行写操作。
2.4.2 常用方法
1.AddNew方法:用于添加一个新记录,新记录的每个字段如果有默认值,则以默认值表示,如果没有则为空白。例如,给Data1的记录集添加新记录:
Data1.Recordset.AddNew
2.Delete方法:用于删除当前记录的内容,在删除后应将当前记录移到下一个记录。例如,删除数据库中的当前记录:
Data1.Recordset.Delete
3.Find方法:用于在记录集中查找符合条件的记录。如果条件符合,则记录指针将定位在找到的记录上。Find方法包括:
FindFirst方法:查找符合条件的第一条记录。
FindLast方法:查找符合条件的最后一条记录。
FindPrevious方法:查找符合条件的上一条记录。
FindNext方法:查找符合条件的下一条记录。
当在数据表类型记录集进行查找时,还可以使用Seek方法。如果找不到符合条件的记录,应显示相关信息以提示用户,这可通过判断NoMatch属性来实现,如:
If Data1.Recordset.NoMatch Then MsgBox "找不到符合条件的记录"
4.Move方法:可以使不同的记录成为当前记录,常用于浏览数据库中的数据。Move方法包括:MoveFirst,MoveLast,MovePrevious和MoveNext方法。
如果Data控件定位在记录集的最后一条记录上,这时继续向后移动记录,就会使得记录集的EOF属性值变为True,不能再使用MoveNext方法向下移动记录,否则会产生错误。从而在使用MoveNext方法移动记录时应该先检测一下记录集的EOF属性:
If Data1.Recordset.EOF = False Then
Data1.Recordset.MoveNext
…… '处理当前记录
Else
Data1.Recordset.MoveLast
End If
使用MovePrevious方法移动当前记录同样会出现与MoveNext方法类似的问题。因此,在使用MovePrevious方法时也应该先检测一下记录集的BOF属性。
5.Refresh方法:主要用来建立或重新显示与Data控件相连接的数据库记录集。如果在程序运行过程中修改了数据控件的DatabaseName,ReadOnly,Exclusive或Connect属性的设置值,就必须用该方法来刷新记录集: VB+sqlserver学生信息管理系统设计(5):http://www.751com.cn/jisuanji/lunwen_9538.html