VB中BOF或EOF中有一个是真,或者当前的记录已被删除,所需的操作要求一个当前的记录

sql="select*from学生信息表"rname.Opensqlrname.MoveFirstrname.Find("学号='"&Text2.Text&"'")If... sql = "select * from 学生信息表"
rname.Open sql
rname.MoveFirst
rname.Find ("学号='" & Text2.Text & "'")
If rname.RecordCount > 0 Then
Text1.Text = Trim(rname.Fields("姓名"))————这里变成黄色
Else
MsgBox ""
End If
我就是想把在数据库中对应已知学号的信息读到text中,怎么读不进去??
而且数据库中表中是没有问题的。。。。
展开
 我来答
网海1书生
科技发烧友

2013-04-22 · 擅长软件设计、WEB应用开发、小程序
网海1书生
采纳数:12311 获赞数:26230

向TA提问 私信TA
展开全部
sql = "select * from 学生信息表"
rname.Open sql
rname.MoveFirst
rname.Find "学号='" & Text2.Text & "'"
If Not rname.EOF Then
Text1.Text = Trim(rname.Fields("姓名"))
Else
MsgBox ""
End If

因为rname.RecordCount > 0并不表示你找到了需要的记录,Find命令并不会改变记录集的记录个数的,只是改变了记录指针。所以不管找没找到符合指定学号的记录,rname.RecordCount的值是不变的。应该用EOF来判断是否找到了记录。
追问
rname.MoveFirst
While Not rname.EOF
Text21.Text = Trim(rname.Fields("班级名")) & Text21.Text
rname.MoveNext
Wend
虽然错误没了,我还是读不进去。。
ggloverv
2013-04-22 · TA获得超过178个赞
知道小有建树答主
回答量:400
采纳率:0%
帮助的人:204万
展开全部
sql = "select [姓名] from [学生信息表] where [学号]='" & Text2.Text & "'"
rname.Open sql

If rname.RecordCount > 0 Then
Text1.Text = Trim(rname(0))
Else
MsgBox "null"
End If
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
humanquan1
2013-04-22 · 超过36用户采纳过TA的回答
知道小有建树答主
回答量:103
采纳率:0%
帮助的人:94.4万
展开全部
表中没有姓名这一列,建议不要直接用名子,可以用rname.Fields(0),这样表示第一列,看一下你的姓名是在哪一列,就用rname.Fields(n-1).
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
text7575
2013-04-22 · TA获得超过1020个赞
知道答主
回答量:39
采纳率:0%
帮助的人:8万
展开全部
看说明书啊
更多追问追答
追问
看啥说明书?????
追答
百度上的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式