学生管理系统(1)——实时错误

实时错误 ‘91

今天运行时遇到了第一个错误实时错误 '91,看了师哥师姐的博客之后,最终也是解决了这个棘手的问题。
在这里插入图片描述

可能出现这种问题的情况有:
  1.数据库ODBC配置问题
  2.VB模块中连接数据库的代码,用户名,密码和ODBC不同步
  3.代码中语句出错,连接不到数据库所要连接的表
  4.有些地方需要有空格,没注意就没有打上
  我犯了以上两个错误,首先是密码有问题

Public Function ConnectString() As String
ConnectString = “FileDSN=student.dsn;UID=sa;PWD=123456”
End Function

一开始我的密码写的是123,其实我ODBC上设置的密码是123456,当时对ConnectString函数不了解,经过搜索查询了解到,它是通过dsn的方式连接数据库,userid——用户名,可缩写为UID;password——密码,可缩写为PWD。最后把密码改了之后还是显示实时错误 '91,然后我只能继续研究研究…
  第二次改正错误,真的微乎其微,SQL代码里面一个标点符号,还有更不容易发现的空格也不能出错,不然是连不上数据库的,下图就是我调试错误之中的一个错误:在这里插入图片描述
select与双引号之间,select与星号之间,from与星号之间,where后面都需要一个空格,大家多注意一下!

实时错误 ‘-2147217887

在满怀期待的第三次运行时遇到的第二个错误是 实时错误’-2147217887:

分析

 Set mrc = ExecuteSQL(txtSQL, MsgText)
                    mrc.AddNew
                    mrc.Fields(0) = Trim(txtSID.Text)
                    mrc.Fields(1) = Trim(txtName.Text)
                    mrc.Fields(2) = Trim(comboSex.Text)
                    mrc.Fields(3) = Trim(txtBorndate.Text)
                    mrc.Fields(4) = Trim(comboClassno.Text)
                    mrc.Fields(5) = Trim(txtTel.Text)
                    mrc.Fields(6) = Trim(txtRudate.Text)
                    mrc.Fields(7) = Trim(txtAddress.Text)
                    mrc.Fields(8) = Trim(txtComment.Text)
                    mrc.Update
                    MsgBox "添加学籍信息成功!", vbOKOnly + vbExclamation, "警告"
                    mrc.Close
                    Me.Hide

观察以上的代码没有发现错误,但是实时错误 '-2147217887显示在mrc.Fields(5)=Trim(txtTel.Text),那错误可能存在数据库中,下面就让我们打开数据库:
在这里插入图片描述

从列“tele_Number”的限制条件是长度为10。也就是说我们在与“tele_Number”对应的“联系电话”一栏中只能输入长度为10的长整型字符串,而在运行时我们输入的电话号码一般都是十一位数字,明显的超出了这个范围。

解决

如何解决这个问题呢?为了能够完整的输入电话号码,我们就要把只能输入长度为10的改为11。但是当你改权限的时候发现不能修改。现在就打开工具-选项-设计器-标设计器和数据库设计器,把阻止保存要求重新创建表的更改前面的对勾取消就可以啦~
在这里插入图片描述

然后再重新打开tele_Number修改页面,把限制长度10改为11。
在这里插入图片描述

这个时候再次运行就不会出现这个错误啦,小伙伴们赶紧去尝试一下吧!

实时错误 ‘3021

非常令人激动的事情来了,又双叒叕遇到了一个错误——实时错误 '3021。虽然解决完问题的那一刻妙不可言,但是解决了一个还会有下一个错误,我累了,谁能让我突然智慧加倍呢,一下解决所有问题,好啦,进入正题啦,伙伴们:
在这里插入图片描述
分析
首先我们先来了解一下什么是BOF和EOF:
BOF、EOF属性:
BOF 指示当前记录位置位于 Recordset 对象的第一个记录之前。
EOF 指示当前记录位置位于 Recordset 对象的最后一个记录之后。
返回值:
BOF 和 EOF 属性返回布尔型值。

通过师哥师姐的博客了解到:这个错误一般是出现的情况是在:当系统中还没有添加任何信息的时候,去点击修改信息的时候。(例如:没有添加任何的学籍信息,而且系统之前也没有任何的学籍信息,这个时候去点修改学籍信息,就回出现这种情况)。我当时显示的错误如图所示:
————————————————
版权声明:本文为CSDN博主「杨思默」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/yangsimo/article/details/109957294

解决方法

我采用的是添加错误处理,仔细看我添加了On Error GoTo dateErr这句,如果有错误就直接执行dateErr那一步,然后是If函数,别忘了写 End If 哦~

Private Sub Form_Load()
    Dim txtSQL As String
    Dim MsgText As String
    
    txtSQL = "select * from student_Info"
    Set mrc = ExecuteSQL(txtSQL, MsgText) '得到student表,并显示出来

    On Error GoTo dateErr '如果有错误直接执行dateErr那一步
        mrc.MoveFirst '游标移动到第一条信息中
        Call viewData '调用函数
            mcbookmark = mrc.Bookmark '做标记
            mcclean = True '文本框无效
dateErr:
    If Err = 3021 Then
        MsgBox "没有数据"
    End If
End Sub

感谢大家阅读.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 18
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杨思默

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值