学生信息管理系统模块问题篇
這個窗體可是出現了很多個問題,例如實時錯誤91錯誤,實時錯誤3021錯誤,這些就是比較常見的錯誤,下面對于這些錯誤有了一些認識,來分享一下
一、實時錯誤91錯誤
1.引起的原因
1.ODBC連接沒成功
2.VB模塊中連接數據庫的代碼,用戶名,密碼和ODBC不同步
3.代碼中語句出錯,連接不到數據庫中所要連接的表
2.具體的解決方法:
第一個原因在前面已經說過了,可以參照前一篇博客https://blog.csdn.net/TGB__15__ZYB/article/details/86599501;第二種原因就是檢查VB模塊中連接數據庫的代碼,用戶名,密碼,保證與ODBC上的同步;第三種原因檢查查詢表的代碼是否寫錯,注意空格,之后檢查代碼中的表的名字和記錄的名字是否與數據庫中的一致。這樣大致就可以解決了。
關于數據庫查詢語句空格的說明:
二、關于實時錯誤“-2147217887”
1.引起的原因
大多數是輸入的數據違反了數據庫的約束條件、字段大小超過限制提交的數據個數、字段數據類型不匹配、自動編號指定了值、或者自動編號未作自動賦值、字段不允許為空值等。
2.解決方法
打開SQL Server2014軟件,登錄數據庫,按照如圖所示知道要編輯的屬性右擊,點擊修改
在彈出框的列屬性中修改長度,是否空值,點擊保存即可
如果無法保存,找到菜單欄里的工具,點擊工具,點擊選項,找到設計器,將“阻止保存要求重新創建表的更改”前面的“?”點掉,點擊確定即可保存
三、實時錯誤“3021”
1.引起錯誤的原因:
由于沒有考慮最后一條記錄而刪除了以及本來數據庫中就沒有記錄而導致的錯誤。
2.解決方法:
1.加on error goto dataerr語句,編輯dataerr函數
2.在代碼中對BOF、EOF進行說明和限制,具體用法如下:
If mrc.BOF Then
表示:當前指針的位置是在第一行記錄之前,則…
If mrc.EOF Then
表示:當前指針的位置是在最后一行記錄之后,則…
If Not mrc.EOF Then
表示:當前指針的位置沒有到達最后一條記錄
If Not mrc.BOF then
表示:當前指針的位置沒有到達第一條記錄
If Not (mrc.BOF AND mrc.EOF) Then
表示:指針位于RecordSet 的當中(并非是最后一條和第一條) ,說明一定有記錄。
If mrc.BOF AND mrc.EOF Then
表示:沒有任何記錄
if mrc.EOF=true then = if mrc.EOF then
四、實時錯誤364
1. 引起的原因:
由于對象已經刪除,但是其他窗體仍然調用該對象,注意執行順序,本窗體中在多文檔界面中點擊修改學籍信息在沒有記錄的情況下彈出3021錯誤,在修改學籍信息窗體中加入相關代碼時,會彈出364錯誤
2.具體解決方式:
在多文檔界面對修改學籍信息的菜單進行編輯,添加相關代碼即可,本例中相關代碼是當點擊修改學籍信息時判斷數據庫中是否有記錄如果沒有彈出對話框警告,代碼如下
總結
以上是生活随笔為你收集整理的学生信息管理系统模块问题篇的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机网络复习题1(含答案及解析及知识点
- 下一篇: 谢孟媛英文发音