VB中如何读取数据库中的下一条数据

PrivateSubCommand1_Click()DimsqlAsStringDimConnAsNewADODB.ConnectionDimRsAsNewADODB.R... Private Sub Command1_Click()
Dim sql As String
Dim Conn As New ADODB.Connection
Dim Rs As New ADODB.Recordset '定义连接数据库的属性变量
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\db1.mdb;"""
sql = "Select * From [单选题] " ' 提取数据库的数据
Rs.Open sql, Conn
Label1.Caption = Rs("编号") & Rs("题目")
Conn.Close
End Sub

这个是我连接数据库的内容,只能读取到第一天。我想按一个按钮读取下一条。怎么弄?请教
其他的我解决了。现在就是。当显示为第一条或者最后一天数据的时候,我按一下上一条或者下一条的时候,会出现错误的

3021错误,就是本来显示是数据库中的第一条了,然后我再安了一次 rs.MovePrevious 的,由于上面没记录(因为是最前面一条了),就弹出3021错误,这个错误如何避免掉,或者让VB自己把它忽视掉?
展开
 我来答
揭莞然H7
2009-09-17 · TA获得超过5683个赞
知道小有建树答主
回答量:893
采纳率:0%
帮助的人:660万
展开全部
什么错呢?可否写出错误讯息!
* 有点须注意的是“第一笔”,“最后比笔”或“上一笔”须写在个别的CommandButton中。

-------------------------------------------------
'下面两行写在General(一般区域内)里面(程式最上面)
Dim sql As String
Dim Conn As New ADODB.Connection
Dim Rs As New ADODB.Recordset

'在Load区域内写:
Private Sub Form_Load()
On Error Resume Next
rs.MoveFirst
Label1.Caption=Rs("编号") & Rs("题目")
End Sub

Private Sub Command1_Click()
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\db1.mdb" ’注意开关引号和分号
sql = "Select * From 单选题" ' 单选题不放[]
rs.CursorLocation = adUseClient '加上这行鼠标位置功能
Rs.Open sql, Conn, adOpenKeyset, adLockPessimistic ’

Rs.MoveNext '下一笔资料
If Rs.BOF = False And Rs.EOF = False Then
Label1.Caption = Rs("编号") & Rs("题目")
End If

If Rs.EOF = True Then ‘若超过最后一笔资料就返回最后一笔记录。
Rs.MoveLast
End If
End Sub

-----------------------------------------------------
说明:
* EOF为 "End Of File"
* BOF为 "Begining Of File"
比如:Rs.EOF=True 意思为超过最后一笔记录。
Rs.BOF=True 意思为超过第一笔记录。

* 其他移动记录方法:
rs.MoveLast ‘最后一笔记录
rs.MoveFirst ‘第一笔记录

Rs.MovePrevious '上一笔资料
If Rs.BOF = False And Rs.EOF = False Then
Label1.Caption = Rs("编号") & Rs("题目")
End If

If Rs.BOF = True Then ‘若超过第一笔资料就返回第一笔记录。
Rs.MoveFirst
End If
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式