欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-04-25 23:09:14
...

因为站在了巨人的肩膀上,在理解代码意思后的调试中,用到之前的别人的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【参考http://blog.csdn.net/liyasong666888/article/details/37931469    http://blog.csdn.net/mirabellezwh/article/details/78493958      http://blog.csdn.net/nangeali/article/details/46865113

BOF:before of file

EOF:end of file

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

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

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

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

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

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

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

【参考

http://blog.csdn.net/hongwei15732623364/article/details/45460175

http://blog.csdn.net/fxq8866/article/details/38562919

http://blog.csdn.net/huyuyang6688/article/details/9672911?reload

http://wenda.so.com/q/1366274296060888

http://blog.csdn.net/guolimin1992/article/details/9884501

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

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

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

这种情况一般出现在系统查询时,游标不能循环来,到达最后一条记录,返回不到第一条记录。或者查询根本没有查到任何记录。学生信息管理系统6——错误调试

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

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

7.mrc!student_ID【参考https://www.cnblogs.com/YangKirn/p/3957188.html

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

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

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

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

总结:

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

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


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

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