对学生的认识
在进行学生的制作和优化过程中,出现了很多问题,也解决了很多问题,在学习时第一次考虑到了它的主要用途是什么,有哪些功能实现,与数据库之间的连接与应用,这个系统是用于方便教师和学生对学生各类信息的管理与查询的系统,在这过程中学会了对系统的调试,同时也增加了代码量,也让我考虑到了面对使用者的人性化的设置,为人们使用时更加方便做出了相应的调整,同时也让自己的解决问题能力与思维能力得到了较大的提升。
学生的功能
学生的功能大致分为增删改查,即添加信息,删除信息,修改信息以及对信息的查询,每个功能之间又有着很大的联系,在这个过程中需要把这些信息录入到数据库中,连接数据库实现这些功能时就很容易出现一些问题,在这里首次用到了BOF与EOF
BOF:指当前记录位置位于Recordset对象的第一个记录之前;
EOF:指当前记录位置位于Recordset对象的最后一个记录之后。
这两个的属性值均返回布尔型:True和False,使用BOF和 EOF 属性可确定 Recordset 对象是否包含记录,或者从一个记录移动到另一个记录时是否超出 Recordset 对象的限制。
我遇到的很多次的问题之一就是在数据库表中没有数据时,如果查询该类数据,程序就会报错这个问题
这是因为数据库在查询时表中无数据导致BOF或者EOF查询不到导致报错,我的解决办法是添加一个if语句,判断表中是否有数据,然后在进行下面的语句
If str2$ = vbOK Then
mrc.Delete
If mrc.RecordCount = 0 Then
MsgBox "当前记录为空,请添加新记录!", vbOKOnly + vbExclamation, "警告"
Unload Me
Else
这是遇到次数最多的也时让我对连接数据库有更深理解的错误。
1)如果当前记录位于第一个记录之前,BOF
属性将返回 True(-1),如果当前记录为第一个记录或位于其后则将返回 False (0)。
(2)如果当前记录位于
Recordset 对象的最后一个记录之后 EOF 属性将返回True,而当前记录为 Recordset 对象的最后一个记录或位于其前,则将返回 False。
(3)如果
BOF 或 EOF 属性为 True,则没有当前记录。
(4)如果打开没有记录的
Recordset 对象,BOF 和 EOF 属性将设置为True,而 Recordset 对象的 RecordCount 属性设置为零。打开至少包含一条记录的 Recordset 对象时,第一条记录为当前记录,而BOF 和 EOF 属性为 False。
(5)如果删除
Recordset 对象中保留的最后记录,BOF 和 EOF属性将保持 False,直到重新安排当前记录。
感悟
这次学习过程让我更深刻的体会到了站在巨人的肩膀上学习,利用现在网络来查询资料,我遇到的问题其他人肯定也遇到过,看看其他人的解决方法,来学习并且解决自己的问题,如果遇到查不到的就去请教周围的同学,听听他的建议以及他当时的做法,给我一些思路上的建议,就可以彻底解决我的问题同时也很大程度的提升了自己,这次完成项目用了很长的时间,也遇到了很多的问题,现在犯错,及时纠正,好过以后工作生活中犯错,把错误留在现在,把成功留在未来。