【学生信息管理系统】——问题篇

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

猜你喜欢

转载自blog.csdn.net/LZ15932161597/article/details/82150204