【学生】解决循环查询问题

举报
Laura_张 发表于 2022/08/26 23:43:09 2022/08/26
【摘要】 【前言】 在修改窗体,点击查看记录的时候,它是在数据库中循环查询的。简单来说就是点上一条记录,可以一直点下去,没有尽头,但是这样又和我们的逻辑有些矛盾。 【正文】 正常的逻辑是: 点击上一条记录可以一直查询到第一条记录,然后提示已经到了第一条记录,不能再查询了,这时这个按钮就已经失效了。还有就是可以点击第一条记录,直接查询到...

【前言】

在修改窗体,点击查看记录的时候,它是在数据库中循环查询的。简单来说就是点上一条记录,可以一直点下去,没有尽头,但是这样又和我们的逻辑有些矛盾。

【正文】

正常的逻辑是:

点击上一条记录可以一直查询到第一条记录,然后提示已经到了第一条记录,不能再查询了,这时这个按钮就已经失效了。还有就是可以点击第一条记录,直接查询到数据库的第一条记录,再点击上一条记录的时候,就会直接提示已经到了第一条记录,这时这两个按钮同时失效。当然,为了保证程序的正常运行,需要在点击事件下面先定义这几个按钮是可用的。

查看下一条记录和最后一条记录的道理同上,不再赘述。


  
  1. '点击上一条记录
  2. Private Sub cmdPrevious_Click()
  3. '定义四个按钮是可用的。
  4. cmdPrevious.Enabled = True
  5. cmdFirst.Enabled = True
  6. cmdNext.Enabled = True
  7. cmdLast.Enabled = True
  8. mrc.MovePrevious
  9. '判断是否到起始位置
  10. '指针位于数据集的第一条记录。
  11. If mrc.BOF Then
  12. '本按钮失效。
  13. cmdPrevious.Enabled = False
  14. '弹出提示框。
  15. MsgBox "已经是第一条记录了!", vbOKOnly + vbExclamation, "提示"
  16. '第一条记录和上一条记录 两个按钮失效。
  17. cmdPrevious.Enabled = False
  18. cmdFirst.Enabled = False
  19. Else
  20. '显示各数据。
  21. txtClassno.Text = mrc.Fields(0)
  22. comboGrade.Text = mrc.Fields(1)
  23. txtClassroom.Text = mrc.Fields(3)
  24. txtDirector.Text = mrc.Fields(2)
  25. End If
  26. End Sub

  
  1. '点击第一条记录。
  2. Private Sub cmdFirst_Click()
  3. '定义四个按钮是可用的。
  4. cmdPrevious.Enabled = True
  5. cmdFirst.Enabled = True
  6. cmdNext.Enabled = True
  7. cmdLast.Enabled = True
  8. '移动到数据集的第一条记录
  9. mrc.MoveFirst
  10. '调用显示数据的函数
  11. txtClassno.Text = mrc.Fields(0)
  12. comboGrade.Text = mrc.Fields(1)
  13. txtClassroom.Text = mrc.Fields(3)
  14. txtDirector.Text = mrc.Fields(2)
  15. End Sub

 

拓展:

BOF代表的是——记录当前位置位于记录集中第一个记录之前

EOF代表的是——记录当前位置位于记录及中最后一个记录之后

BOF跟EOF的返回值为:

BOF:为True:表示的是当前指针的位置是在的第一行的前面。

      为False:时表示的是指针的位置是在第一行,或者第一行的后面。

EOF:为True表示当前的是当前指针的位置是在最后一行的后面

     为False表示指针的位置是在最后一行,或者在最后一行的前面。

 

【后记】

暂时只想到这一种方法,如果有更简单的方法,请联系我!

文章来源: blog.csdn.net,作者:张艳伟_Laura,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/Laura__zhang/article/details/99708689

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。