在做学生信息管理系统的过程中遇到的一些问题,如图:
对于不熟悉的我来说,这个错误整整浪费了我大概两个小时的时间。我上网查“advapi32.dll”是什么?及实施错误53的解决方案。知道了advapi32.dll是C:\windows\systems\、、下的一个函数,他是取得登录用户名的不可缺少的东东。懂得在“system和systems下的文件不用写路径,可直接调用”
刚开始怀疑是不是文件破坏了?想重新安一个,但是经过验证不是,如果是那么源代码也不能运行,而它可以,排除。然后开始想“为什么这个文件出问题,而调试的结果却是如图所示?”猜想应该是调用时没有找到文件出错。那么还是第一句话出问题了,但是自己和源代码对照了好几遍也没找到错误所在。这时的自己已经忍无可忍,只好先放放。等到下午,实在不想看它,找同学看看,在她的法眼下终于明白(advapi32.dll)没有()。真是、、
二、
这一类错误一般都是和查找数据库有关。
1、数据库为空
2、查找数据库的过程中语句出错。如:空格 或是 “=” 导致的结果
如:(1)、txtSQL = "select * from result_Info where "
txtSQL = txtSQL& "student_ID ='" & Trim(TxtID.Text) & "'"
where后面不空格也会导致错误。要不where后空格,要不student_ID前空格。
(2)、 txtSQL = "select* from student_Info where student_ID ='" &Trim(TxtID.Text) & "'" 如果"="缺失也会导致这类错误。
解决方法很简单就是把数据库里边填上值或是在写代码的过程中语句的正确书写。
三、
这个问题要找bof 和eof的用法是否冲突,如果冲突,则会出现这类错误:如:
Private SubnextCommand_Click()
mrc.MoveNext
If mrc.EOF Then
mrc.MoveFirst
End If
Call viewData
End Sub
Private SubpreviousCommand_Click()
mrc.MovePrevious
If mrc.BOF Then 当时把它写成了eof没有好好理解这句话的意思
mrc.MoveLast
End If
Call viewData
End Sub
四、
如图查询结果在上边出现原因:就是row和rows的差别,如果把rows改成row 即:TextMatrix(.Row-1,0)=mrc.Fields(0).......
时出现的结果为上图所示。如果为rows则如下图所示:
.Rows = .Rows + 1
.CellAlignment = 4
.TextMatrix(.Rows - 1, 0) =mrc.Fields(0)
.TextMatrix(.Rows - 1, 1) =mrc.Fields(1)
.TextMatrix(.Rows - 1, 2) =mrc.Fields(2)
.TextMatrix(.Rows - 1, 3) =mrc.Fields(3)
.TextMatrix(.Rows - 1, 4) =mrc.Fields(4)
.TextMatrix(.Rows - 1, 5) =mrc.Fields(5)
mrc.MoveNext
由此可见:一个小小的“s”可以带来的神奇的功能。
以上的问题都是我现在的解决方法,相信在以后的学习中会不断地完善!