系统敲完了,也调试完了,在完成系统的过程中遇到不少的问题,做一下总结。
1、With 未设置,实时错误‘91’
1)、数据库的ODBC配置出现错误,没有配置好,与数据库的连接没有连接好,就会出现这样的问题
2)、与代码中从数据库中调用数据的语句有关:
前面的空格不应该有
where 后面有条件,所以与引号间必须有空格
2、多步OLE DB操作产生错误。
出现这个问题时,调试的指针会指在写的代码的某一行,
这是因为每一个数据都有各自的数据类型,字段的大小都有限制,但你超出这个限制的时候,就会出现上述的情况!
3、实时错误“3021”
出现这个问题的时候,一般是你的数据库里面已经为空,当你继续执行Form_Load()事件或者在你删除数据时,把数据库中的数据已经全部删除之后,会出现这种情况!对于这种情况,我对Form_Load()和deleteCommand_Click()两个事件下的过程做了相应的改变
Private Sub From_Load() txtsql="select * from class_info " set mrc=ExecuteSQL(txtSQL,MsgText) If mrc.EOF And mrc.EOF then '指针未在记录集之中,没有记录,说明数据库为空 MsgBox"数据库为空,请先添加班级信息!",vbOkonly + vbExclamation,"警告" mrc.Close Frame2.Enabled=False '使所有的控件按钮无法使用 Frame3.enabled=False Else mrc.MoveFirst Call viewData myBookmark=mrc.Bookmark mcclean=True End If
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。Private Sub deleteCommand_Click() myBookmark = mrc.Bookmark str2$ = MsgBox("是否删除当前记录?", vbOKCancel, "删除当前记录") If str2$ = vbOK Then mrc.MoveNext '删除后显示下一条记录 If mrc.EOF Then mrc.MoveFirst myBookmark = mrc.Bookmark mrc.MoveLast mrc.Delete mrc.Bookmark = myBookmark txtSQL = "select * from class_info " '重新从数据库中提取数据,相当于刷新 Set mrc = ExecuteSQL(txtSQL, MsgText) '得到student表,并显示出来 If mrc.EOF And mrc.BOF Then MsgBox "数据库为空,请先添加班级信息!", vbOKCancel, "警告" mrc.Close '关闭连接 Frame2.Enabled = False Frame3.Enabled = False txtClassno.Text = "" comboGrade.Text = "" txtDirector.Text = "" txtClassroom.Text = "" Else Call viewData End If Else myBookmark = mrc.Bookmark mrc.MovePrevious mrc.Delete mrc.Bookmark = myBookmark Call viewData End If Else mrc.Bookmark = myBookmark Call viewData End If