【VB】学生信息管理系统6——错误调试

因为站在了巨人的肩膀上,在理解代码意思后的调试中,用到之前的别人的CSDN。所以原理查的不是很透彻。这里总结一下我的问题!

1.VB(如下代码)中mrc.EOF = False应该怎么理解呢?

Set mrc = ExecuteSQL(txtSQL, MsgText)
If mrc.EOF = False Then

ExecuteSQL【参考http://www.w3school.com.cn/ado/met_conn_execute.asp】

mrc就是游标,也就是查询返回的临时表,ExecuteSQL执行txtSQL语句结果返给mrc,mrc上带有游标位置。

2.EOF BOF【参考Mrc.EOF_李亚松-的博客-CSDN博客    EOF和BOF_张文慧-Mirabelle的博客-CSDN博客      EOF和BOF_量变决定质变的博客-CSDN博客_bof eof

BOF:before of file

EOF:end of file

当查询完成后,返回结果,mrc游标的默认位置是查询结果的第一条记录。

当mrc指向第一条的上面时,此时游标就指向了before of file 的位置,所以,mrc.BOF为真,由于BOF为布尔型变量,所以结果为True

当mrc指向最后一条的上面时,此时游标就指向了end of file 的位置,所以,mrc.EOF为真,由于EOF为布尔型变量,所以结果为True

3.错误91 对象变量或with块变量未设置 

对于这个错误,其实就是没有找到查询的结果,而且一旦出现这个问题,相信一定是很多个窗体都会这样报错,绝不单单是一个地方的问题。所以原因一定是多方面的。可能是数据库就没有连上,可能就是SQL语句有问题,可能就是变量没有设定,可能就是代码有的地方不完整,但为什么系统不提示你没有查询到数据呢?原因就是你在用VB编写代码,一旦报错,它肯定是从代码方面找原因,而所有问题最终反应在代码上的就是这样的问题,所以它会这样报错.

而我的问题就是出在连接数据库上,由于分不清不同DNS导致连接数据时出现问题,所以出现这样的错误,可以检查是不是这里的DSN配置错了。

【参考

【MIS】错误91 对象变量或with块变量未设置_种下星星的日子的博客-CSDN博客

【学生信息管理系统】对象变量或者With块变量未设置_随心更博的博客-CSDN博客

实时错误 ‘91‘ :对象变量或with块变量未设置_胡玉洋 的博客-CSDN博客_对象变量或with块变量未设置

360问答 - 你问大家答

对象变量或with块变量未设置_guolimin1992的博客-CSDN博客_对象变量或with块变量未设置

4.3704错误:对象关闭时,不允许操作

这涉及到游标的整个过程了:创建连接——>打开连接——>进行操作——>关闭连接——>释放连接。如果出现这个问题,可以通过检查代码的整个过程,看到底是哪里出了问题,一般不会有太大的问题!

5.3021没有当前操作对象 ,在查询返回结果后,游标通过一条条的方式显示在系统上,这里的问题,也就是游标没有对应到任何记录,无法进行操作,比如显示操作之类的!

这种情况一般出现在系统查询时,游标不能循环来,到达最后一条记录,返回不到第一条记录。或者查询根本没有查到任何记录。

登陆后,定位不到当前登录的用户。在我的学习信息管理系统中,我可以通过数据库中的用户名和密码登进去系统,但是在修改密码阶段,它就不懂到底是为谁修改密码,定位不出来你现在登录的用户是谁?导致这样的问题,需要在login窗体中把参数传递到main 窗体中!

7.mrc!student_ID【参考VB中,叹号“!”和“.”的区别 - YangKirn - 博客园

在编程写程序代码时常出现的!和.的用法

.用法1:控件的属性   Label.text="hello"

.用法2:控件的控件  frmModifyClass.cmdPreRecord.Enabled=True

!用法:控件的控件,也可以用点

总结:

1.代码一大片,更要理解逻辑含义,而不是每一句的意思,穿起来看整体参数在怎样的传递

2.F8 调试程序,调试程序更加考验编程

3.这次在验项目的过程中,没有任何责怪,满满的全是鼓励,做的更好的期待。一边对我的肯定,一边耐心的为我指出可以改进的更好的地方。感激师傅!

还是有点着急,如果是我一个人,还是喜欢钻牛角尖的,其实也不是坏事啦!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 11
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值