【VB】学生管理系统总结(二)

#一、实时错误’91’

实时错误91

1.链接数据库有问题
(1)服务管理器没有启动服务
(2)数据源(ODBC)里面“文件DSN”里有添加数据库
(3)“企业管理器-安全性-登陆”这里面访问的默认数据库没有设为你要访问的数据库,在属性里面可以更改

2.SQL语句书写有问题

(1) txtsql = "select * from class_info",这行代码的最后多了一个空格
(2) 在执行查询学生学籍信息的窗体中,执行语句txtSQL = "select * from result_Info where",因为后面还要添加条件,所以在'where'和‘ " ’之间缺少空格时会出错。
(3) 在代码里“select*from ”这后面应该接的是表的名字,而不是数据库名
(4) 在一句完全的查询语句中,比如  txtSQL = "select * from class_Info where class_No='" & Trim(txtClassno.Text) & "'",其中在最后判断输入框中的条件时,双引号和单引号一定要注意(整句话的引号从外到内一共分三层:双引号,单引号,双引号),不能破坏其顺序层次。

其实,只要出了91就是数据库及其相关部分出了问题,这时候只要把跟数据库有关的部分检查一遍,基本上就能排除问题了。

#二、实时错误424
错误424,出现的原因是对象不存在或对象命名错误。
我的错误原因是控件的命名与代码不一致,将控件的名称改一下就可以了

三、实时错误3021
在删除最后一条记录时报错
【1】主窗体的菜单项里

Private Sub modifysinfo_Menu_Click()  
    txtSQL = "select * from student_Info"  
    Set mrc = ExecuteSQL(txtSQL, MsgText)  
      
    If mrc.RecordCount = 0 Then  
        str2 = MsgBox("记录集为空,是否现在填写?( ⊙o⊙?) ", vbOKCancel, "提示")  
        If str2 = vbOK Then  
            frmAddsinfo.Show  
        Else  
            Exit Sub  
        End If  
    Else  
        frmModifysinfo.Show  
    End If  
End Sub  

【2】删除按钮

Private Sub deleteCommand_Click()  
    myBookmark = mrc.Bookmark  
    str2 = MsgBox("是否删除当前记录?", vbOKCancel, "删除当前记录")  
      
    On Error GoTo gperror  
      
    If str2 = vbOK Then  
        mrc.MoveNext  
        If mrc.EOF Then  
            mrc.MoveFirst  
            myBookmark = mrc.Bookmark  
            mrc.MoveLast  
            mrc.Delete  
            mrc.Bookmark = myBookmark  
            Call viewData  
        Else  
            myBookmark = mrc.Bookmark  
            mrc.MovePrevious  
            mrc.Delete  
            mrc.Bookmark = myBookmark  
            Call viewData  
        End If  
    Else  
        mrc.Bookmark = myBookmark  
        Call viewData  
    End If  
    Exit Sub  
gperror:  
    MsgBox "已经没有记录了,窗口即将关闭!", vbOKOnly + vbInformation, "提示"  
    Unload Me  
      
    str1 = MsgBox("记录都删没了,还添加吗?", vbOKCancel + vbQuestion, "问题:")  
    If str1 = vbOK Then  
        frmAddsinfo.Show  
    End If  
End Sub

其它窗体类似,只需修改其中一小部分代码即可。

#三、实时错误’-2147217887
这里写图片描述

填的数据不符合或者没有转换成数据库相应字段的数据类型或约束。添加学号和电话的时候,字符长度超出了表的限制。我输入的学号和电话号码的字符长度是11,而表里限定的长度是10位。

这里写图片描述

但是更改char后,又出现如下问题:

这里写图片描述

解决办法如下:
打开SQL Server工具-选项-设计器,勾选“阻止保存要求重新创建表的更改”这一选项就可以更改了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值