浏览RecordSet中的记录需要两步:1.定位当前的记录,RecordSet打开的第一个记录为当前记录;2.用Field对象获得当前记录的各个数据列。
RecordSet对象可用下列5种方法定位到当前记录:
MoveFirst:使当前指针指向第一个记录;
MoveNext:使当前指针指向下一个记录;
MovePrevious:使记录指针指向前一个记录;
MoveLast:使记录指针指向最后一个记录;
Move n:使记录指针指向当前记录算起的第n个记录。
RecordSet的两个属性:
Bof——before of file
Eof——end of file
以上两个属性返回布尔型:
|
Bof
|
Eof
|
true |
当前行的位置是在第一行之前,无记录
|
当前行的位置是在最后一行的后面,无记录
|
false |
当前位置是在第一行或其后,有记录 |
当前行的位置是在最后一行或其前面,有记录 |
这两个属性和记录定位方法结合即可浏览recordset中的所有记录:
|
MoveFirst&
MoveLast
|
MovePrevious,
move<0
|
move 0 |
MoveNext,
move>0
|
bof=true & eof=false |
允许 |
错误 |
错误 |
允许 |
bof=false & eof=true |
允许 |
允许 |
错误 |
错误 |
同时为true |
错误 |
错误 |
错误 |
错误 |
同时为false |
允许 |
允许 |
允许 |
允许 |
1.If objRs.BOF Then
表示:当前指针的位置是在第一行记录之前,则...
2.If objRs.EOF Then
表示:当前指针的位置是在最后一行记录之后,则...
3.If Not objRs.EOF Then
表示:当前指针的位置没有到达最后一条记录
4.If Not objRs.BOF then
表示:当前指针的位置没有到达第一条记录
5.If Not (objRs.BOF AND objRs.EOF) Then
表示:指针位于RecordSet 的当中(并非是最后一条和第一条) ,说明一定有记录。
6.If objRs.BOF AND objRs.EOF Then
表示:没有任何记录
当Bof或Eof中有一个是“真”,或者当前的记录已被删除的情况下,会产生实时错误3021,在学生信息管理系统中,我们应该都遇到这个问题,下面分享一下我解决这个问题的方法。
Private Sub Form_Activate() '改进form-load事件,在窗体未显示之前,判断有无记录,
'若无记录则修改窗体的功能不能执行,没必要显示,跳转到添加信息
Dim txtSQL As String
Dim msgtext As String
Dim msgvalue As Integer
txtClassno.Enabled = False
comboGrade.Enabled = False
txtDirector.Enabled = False
txtClassroom.Enabled = False
txtSQL = "select * from class_Info "
Set mrc = ExecuteSQL(txtSQL, msgtext)
If mrc.EOF And mrc.BOF Then '无记录时mrc.EOF=true和mrc.BOF=true同时满足
msgvalue = MsgBox("当前无记录!您是否添加班级信息?", 4 + 32 + 256, "温馨提示")
If msgvalue = 6 Then '选择是,直接跳转到添加信息
Unload frmModifyclassinfo
Load frmAddclassinfo
frmAddclassinfo.Show
Else '选择否,因为没有记录,不必显示修改窗口
Unload frmModifyclassinfo
End If
Else '有记录的情况,显示第一条记录
mrc.MoveFirst
Call viewData
myBookmark = mrc.Bookmark
mcclean = True
End If
End Sub
分享到:
相关推荐
BOF和EOF是ADO(ActiveX Data Objects)中的两个关键概念,它们用于指示记录集的位置。BOF表示记录集的起始位置,而EOF表示记录集的末尾。当你试图在没有数据的记录集上移动,或者试图访问已经被删除的记录时,系统...
在这些天敲写和调试学生信息管理系统的时候,经常会用到EOF(Endof File)和BOF(Before of File),稍加不注意查询我们的数据库会出错,那么这俩到底是何方神圣,是怎么用的,之间又有什么区别呢? 一、认识 ...
在ASP(Active Server Pages)编程中,我们经常会遇到处理数据记录集Recordset的情况,而`EOF`和`BOF`是两个非常关键的概念,用于在循环遍历数据时判断是否到达了记录集的边界。接下来,我们将深入探讨这两个概念及其...
解决T3/T6打最新增量补丁后,提示本地版本...1、解决了使用工具报EOF或BOF错误的问题 2、使用工具后,如果还不行,请尝试重启电脑 3、重启还不行,看一下是不是360之类的软件把update.exe给隔离了 更新日期:2013-7-25
2013-7-25更新: 1、解决了使用工具报EOF或BOF错误的问题 2、使用工具后,如果还不行,请尝试重启电脑 3、重启还不行,看一下是不是360之类的软件把update.exe给隔离了
4. Bof和Eof属性:`BOF`(Before First)和`EOF`(End Of File)是Recordset对象的两个重要属性,分别表示记录指针是否位于记录集的第一条之前和最后一条之后。如果记录集为空,`BOF`和`EOF`都将为`True`,如问题4所...
- **状态检查:**结合Bookmark、BOF和EOF属性,可以判断当前记录的位置状态。例如,如果AbsolutePosition等于1且BOF为True,表明当前记录位于记录集的最前端;若AbsolutePosition等于记录集总记录数且EOF为True,则...
空记录集的BOF和EOF都是True,可用于判断记录集是否为空。 3. **AbsolutePosition**: 返回当前记录的索引位置,即当前记录是记录集中的第几条。这是一个只读属性。 4. **Bookmark**: 用于设置或获取当前记录的书签...
2. **数据链路层**:控制字符如XBOF、BOF、EOF和CE被定义以标记帧的开始和结束。数据传输中,采用CRC-16校验码进行帧校验,以检测和纠正传输错误。数据链路帧由XBOF字符开头,以EOF字符结束,包含数据和FCS字段。...
Move方法用于在记录集中移动,BOF和EOF属性检测是否到达记录集的开始或结束,RecordCount属性返回记录数量。此外,还要注意ADODC控件的相关事件,如当数据发生变化时触发的事件,以便进行相应的处理。 总的来说,...
OraDynaset对象则用于存储和操作数据库中的数据,它具有多种属性(如BOF、EOF、Bookmark)和方法(如AddNew、Update、Delete、Edit、Refresh、Clone)。 为了在ASP中处理Oracle数据库的数据,首先要搭建合适的环境...
- 属性:Fields提供对记录集中的字段的访问,BOF和EOF分别表示是否位于首记录和尾记录,RecordCount表示记录数,CursorLocation定义游标的位置。 - 方法:MoveFirst、MoveLast、MoveNext、MovePrevious用于移动...
3. Recordset对象:详述Recordset的各种属性(如Fields、Status、BOF、EOF等)、方法(如MoveFirst、MoveNext、Update、CancelUpdate等)以及状态,如何遍历Recordset,处理游标移动和数据操作。 4. 错误处理:介绍...
Recordset对象代表查询结果,其属性如BOF和EOF分别表示是否到达记录集首尾,CursorLocation定义游标位置,Filter和Sort用于过滤和排序记录,Fields属性包含了列的信息。通过遍历Recordset的Fields和RecordCount,...
4. **记录集操作**:详细介绍Recordset对象的各种属性(如BOF、EOF、Fields)和方法(如MoveFirst、MoveNext),以及如何遍历和修改记录。 5. **错误处理**:讨论如何使用Error对象和Try-Catch结构来捕获和处理ADO...
1. **BOF** 和 **EOF**:这两个属性分别表示记录指针是否在记录集的开头(Before First)和结尾(After Last)。如果记录集没有修改,它们应该保持不变。如果用户在记录集中进行了导航,而未调用Update,那么BOF和...