前面已经写过一个问题总结的博客:学生信息管理系统问题总结(一),但是还不全面,问题多多,解决方法也多多,下面继续说一下一些问题的我的解决方法。
(1)日期时间字段溢出。
这个错误一般是在添加学籍信息时,出生日期或入校日期输入过小造成的,只要将数据库设计中的born_date和ru_date字段的数据类型datetime改为date即可。如下图:
下面说一下
datetime 和date的区别:
datetime表示的日期范围从公元1753年1月1日00:00:00.000到9999年12月31日23:59:59.997,精确到3.33毫秒,它需要8个字节的存储空间。
date是SQL Server 2008新引进的数据类型。它表示一个日子,不包含时间部分,可以表示的日期范围从公元元年1月1日到9999年12月31日。
(2)实时错误3021.
EOF或BOF中有一个是“真”,表示数据库里面已经为空,这个错误一般是将数据库中的记录删除完之后会出现,我的想法是如果出现该错误就直接跳过进行下一步,在删除记录的单击事件下添加如下红色字体的部分:
On Error GoTo gpError
myBookmark = mrc.Bookmark
str2$ = MsgBox("是否删除当前记录?", vbOKCancel, "删除当前记录") '将msgbox()的返回值给str2$
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 " 已经没有记录了,窗口即将关闭!", vbInformation, "提示"
txtCourseno = ""
txtCoursename = ""
combocourset = ""
txtCoursedes = ""
Unload Me
上面这些问题,有的不是自己解决的,而是看了大家的博客才明白的,但是米老师说了还是自己摔跤的好,别人是替代不了的。在机房的时候有问题一定要自己先思考,要是实在是思考不出来了再看别人的博客,再请教别人。像米老师说的
遇到的困难挫折...真的...是上天为了你的成长而馈赠的财富,还是不要让本属于自己的财富流到别人那里才好。