【学生信息管理系统】——问题篇
Q1:实时错误91
answer 1:(1)首先是检查数据库的连接,检查VB与数据库是否连接成功。
在模块中的代码这里:ConnectString = “FileDSN=studentinfo.dsn;UID=sa;PWD=123”
UID对应的是自己的SQL server的账号,PWD对应的是自己的密码。
(2)其次是检查ODBC数据源的配置,看看有没有配置ODBC数据源,或者配置的是否正确。
确保数据库的配置是正常的,是可用的状态。数据库的配置可参考链接:SQL 2014 ODBC配 置全过程及遇到的问题解决办法。
(3)再次是检查查询语句,检查代码,确保查询语句书写的正确性。
(A)、SQL语句之间少了空格:txtSQL = “select * fromuser_Info”
(B)、在一句完全的查询语句中,比如 txtSQL = “select * from class_Info where class_No=’” & Trim(txtClassno.Text) & “’”,其中在最后判断输入框中的条件时,双引号和单引号一定要注意(整句话的引号从外到内一共分三层:双引号,单引号,双引号)。
(C)、在执行查询学生学籍信息的窗体中,执行语句txtSQL = “select * from result_Info where”,因为后面还要添加条件,所以在‘where’和‘ ” ’之间缺少空格时会出错。
Q2:未找到方法或数据成员
answer 2:出现此错误的原因是对象错误,对象名称与代码中的不一致,找不到该对象。解决办法是根据错误提示,找到调试时锁定的位置,核对对象名称是否一致。
Q3:数据库设置问题
问题描述:当添加完信息点确定后,出现上述错误,实时错误’-2147217873(80040e2f)不能将 NULL 值插入列;列不允许空值,INSERT 失败。 按照提示的错误,进行如下操作,允许NULL值为空:
answer 3:【以添加用户表为例】
右击——修改——最后一列允许为null值,中的对勾选择——最后Ctrl+s保存
若出现不允许保存的情况——不允许保存更改,阻止保存要求重新创建表的更改,解决办法为,工具——选项——取消“阻止保存要求重新创建表的更改”复选框,再确定
Q4:下标越界
answer 4:出现此问题的原因是,代码中实际需要的表格列数超过表格已有的列数,重新设置表格属性的行数或列数,来满足实际需要即可。
Q5:实时错误3021
answer 5:错误来源——A.查找的数据库记录为空.(即刚加载窗体时需要数据库中的数据,但数据库中没有数据) B.查找到数据后,用 Del 命令删除记录后,再引用 Fields 后会出现错误. C.已经用MoveFirst 或用 MovePrevious 命令 移动至数据库开始后再用 MovePrevious 命令. D.已经用MoveLast 或用 MoveNext 命令 移动至数据库开始后再用 MoveNext 命令. 说的简单点,就是数据库中没有了数据。
解决办法——A、添加错误处理:`Private Sub Form_Load() 运行修改学籍窗体
1 Private Sub Form_Load() 运行修改学籍窗体
2 Dim txtSQL As String
3 Dim MsgText As String
txtSQL = "select * from student_Info"
Set mrc = ExecuteSQL(txtSQL, MsgText) 得到student表,并显示出来
On Error GoTo dateErr 如果有错误直接执行dateErr那一步
mrc.MoveFirst
Call viewData
myBookmark = mrc.Bookmark
mcclean = True
dateErr:
If Err =3021 Then
MsgBox"没有数据"
End If
end sub
B、添加判断,判断数据中是否有需要查询的表中数据
Private Sub Form_Load()‘运行修改学籍窗体
Dim txtSQL As String
Dim MsgText As String
Dim str1 As String
'得到student表
txtSQL = "select * fromstudent_Info"
Set mrc = ExecuteSQL(txtSQL, MsgText)
If mrc.EOF = False Then ‘先判断是否还有记录,如果还有记录
mrc.MoveFirst
Call viewData
myBookmark = mrc.Bookmark
mcclean=True
Else ‘如果没有记录
str1 =MsgBox("没有学籍信息,是否添加学籍信息?", vbOKCancel, "提示")
If str1 = vbOK Then ‘点击确定
unload frmModifysinfo ‘当前窗体卸载
frmAddsinfo.Show ‘添加学籍窗体运行
Else ‘点击取消
Unload frmModifysinfo ‘当前窗体卸载
End If
End If
End Sub
上一篇: 烟瘾挺大,将来结婚生子
下一篇: 单链表的实现