学生信息管理系统——错误类型汇总

1.错误类型及解决方案:
①用户定义类型未定义
原因:未引用控件
解决方案:工程——引用【Microsoft ActiveX Data Objects 2.5 Library】
拓展:ActiveX Data Objects,简称ADO,访问数据库的一个接口,就是用来跟数据库交互的。
这里写图片描述
这里写图片描述
②“424” 要求对象
原因:有可能是拼写错误,或者窗体未引用该控件,控件的命名不对
③缺少函数或变量
原因:拼写错误,把英文的句号 . 写成了英文的标点符号 , 如图

这里写图片描述
④实时错误“91”,对象变量或With块未设置 。
MSDN是如此解释的:
对象变量或 With 块变量没有设置(错误 91)

创建对象变量有两个步骤。第一,必须先声明对象变量。然后必须用 Set 语句将一个正确的引用赋值给对象变量。同样地,With…End With 块必须先用 With 语句进入点来执行初始化。此错误有以下的原因和解决方法:

试图使用的对象变量,还没有用一个正确对象的引用来赋值。
给对象变量指定或再指定一个引用。例如,如果在下列的代码中省略 Set 语句的话,那么引用 MyObject 将会产生错误:

Dim MyObject As Object ’ 创建对象变量。
Set MyObject = Sheets(1) ’ 创建一个正确的对象引用。
MyCount = MyObject.Count ’ 计数值赋给 MyCount。

试图用的对象变量已经被设为 Nothing。
Set MyObject = Nothing ’ 释放此对象。
MyCount = MyObject.Count ’ 引用了已释放的对象。

再指定引用给对象变量。例如,使用新的 Set 语句给对象设置新的引用。

此对象是正确的对象,但没有被设置,因为在对象库中,在 “引用” 对话框中没有被选取。
在 “添加引用” 对话框选择对象库。

在 With 块内GoTo 语句的去向。
不要跳进 With 块。确保块使用 With 语句进入点以执行初始化。

当选了 “设置下一条语句” 命令时,在 With 块内指定了一行。
With 块必须用 With 语句执行初始化。

详细信息,可选取有问题的项目,并按下 F1 键。
错误类型有:
1.VB代码出现错误
常出现错误的代码是查询语句出现错误:

这里写图片描述
解决方案:
这里写图片描述
原因:

txtSQL = “select * from user_Info ” ‘从student表的密码表user_info中选择
Set mrc = ExecuteSQL(txtSQL, MsgText)
mrc.Fields(1) = Text1.Text ‘从第二列user PWD赋值
这里写图片描述
注意:
注意一:查询语句中每个单词的拼写问题
注意二:from后是数据库的表名,名称一定要输入正确,注意下划线与大小写 where后面是数据库中的列的名称
注意三:逗号是英文的逗号,许多的错误都是由于中文的逗号所引起的
还有可能是别的控件的代码打错了。
2.数据库配置出现问题 ——如何配置ODBC,相关链接在下文中有。
3.运行的时候,TXT控件输入的字符串溢出限制。可以在数据表中查看。如下图,右击蓝色区域,选择【设计】。
解决方案:可以在控件属性中限制长度,或者在代码窗口限制。数据表中也可以设置,但是一般不建议在表中直接修改!
这里写图片描述
这里写图片描述
这里写图片描述
学生信息管理系统之实时错误91
sql server常有的问题-实时错误’91’对象变量或with块变量未设置解决
实时错误“91”对象变量或with块变量未设置
⑤无MDI窗体可加载
解决办法:
添加一MDI窗体,或者最好把窗体比如From1的MDIChild属性设置为False,即可解决。
⑥未找到方法或数据成员 (集合、对象或用户定义类型不包含引用的成员)
原因:*对象或成员名称拼写错误。
*指定了一个超出范围的集合索引。
解决方案:随便哪里设置个断点(按F9),用单步调试(按F8)的方法,找到未定义的函 数或者是函数里面不对的某个参数。

这里写图片描述
解决方案:
⑧ByRef 参数类型不符 : 1。传递参数未定义类型,如果参数在调用前未定义类型,系统自动将它定义为Variant类型,由于与过程或函数中的对就参数类型不相同,所以提示”ByRef参数类型不符”

2。传递参数类型已经定义,但由于定义方法不对,所以提示”ByRef参数类型不符”。具体情况如下:

当VB中如此定义变量时,将会出现以上错误信息的出现
这里写图片描述
解决方案:缺少符号,红色 符号标注部分
这里写图片描述
对应以上定义的第一种错误:传递参数未定义:代码片段如下:

Dim MsgTest As String
Set mrc = ExecuteSQL(txtSQL, MsgText)
修改为:
Dim MsgText As String
第二种错误,传递参数类型已经定义,但由于定义方法不对。如下:
这里写图片描述

⑨运行时,点击frmmain 菜单栏无反应,进入死循环
原因:菜单编辑器中窗体名称写的是中文的,而在其他窗体中命名的是英文的,
解决方案有两种:
第一种,如图所示,在菜单编辑器中名称改成英文命名的,
第二种,如下图所示,不改变菜单编辑器的中文名称,将代码修改一下
这里写图片描述
这里写图片描述
⑩登陆窗口无反应,进不去系统
这里写图片描述
解决方案:将【确定】按钮的Default属性改为True.
理由:按钮的 Default 属性是确定该按钮是否是该窗体的默认按钮,如果一个按钮的Default属性设置为 True ,那么这个按钮就是这个窗体的默认按钮,那么在进入窗体后按回车,即可执行这个按钮的事件.
VB中CommandButton控件的常用属性值及其功能
学生信息管理系统错误汇总(二)
2.3021
参考: 这里写图片描述
错误原因:添加班级信息窗体中,班级未添加,student中无数据,为空值。(NULL)
这里写图片描述
实时错误3021
3021
错误原因:、错误描述

在做学生信息管理系统的时候运行以后碰到过这样的错误:“实时错误’3021’,BOF或EOF中有一个是“真“,或者当前的记录已被删除,所需的操作要求一个当前的记录。”

二、错误在什么时候出现?

这个错误一般是出现的情况是在:当系统中还没有添加任何信息的时候,去点击修改信息的时候。(例如:没有添加任何的学籍信息,而且系统之前也没有任何的学籍信息,这个时候去点修改学籍信息,就回出现这种情况)
源代码如下:

 Private Sub Form_Load()
    Dim txtSQL As String
    Dim MsgText As String


    txtSQL = "select * from student_Info"
    Set mrc = ExecuteSQL(txtSQL, MsgText) '得到STUDENT表,并显示出来
        mrc.MoveFirst
    Call viewData
    mcbookmark = mrc.Bookmark '做标记
    mcclean = True '可以编辑的状态



End Sub

修改之后:

Private Sub Form_Load()
Dim txtSQL As String
Dim MsgText As String

txtSQL = "select * from student_Info"
Set mrc = ExecuteSQL(txtSQL, MsgText) '得到STUDENT表,并显示出来

If mrc.EOF And mrc.BOF Then  '一条IF语句充当错误处理,当无记录时,mrc.eof=true
                              '和mrc.bof=true两个条件同时满足!
    MsgBox "无记录!"
    frmModifysinfo.Show '直接进行下一步,显示窗体
Else
    mrc.MoveFirst
    Call viewData
    myBookmark = mrc.Bookmark '对当前记录进行标记
    mcclean = True '可编辑状态
End If

End Sub
分享资源如下:
OCBC配置
错误:3704
这里写图片描述
这里写图片描述
学生错误“3704”
使用ADO或ADO控件访问数据库
VB与ADO的用法 (增删改查)
解决方案:以上链接的方法都尝试过了,依然没有解决。 错误原因如下:将数据库关掉了!
这里写图片描述
总结:
出现3704的错误原因有以下几种:
1.重新连接数据库

2.重新配置ODBC

3.查看 ConnectString = “FileDSN=student.dsn;UID=sa;PWD=123 词句正确
解决方案有:
1.重新连接数据库

2.重新配置ODBC

3.查看 ConnectString = “FileDSN=student.dsn;UID=sa;PWD=123” 词句正确
4.使用ADO或ADO控件访问数据库
错误:
这里写图片描述
错误:错误的参数或者无效的属性赋值

猜你喜欢

转载自blog.csdn.net/lj251948/article/details/79546557