@H_301_2@【序言】学生管理的第二篇总结,接着上一篇,尽可能的优化系统,将最大的便利给予用户。
@H_301_2@===============================================================================
@H_301_2@【问题3】怎样防止当删除完所有记录时EOF与BOF报错?
@H_301_2@
这时已经是记录集中剩余的最后一条记录了,
当我们删除完了之后,我们可以给予提示,这样就避免了记录集中没有记录时,继续删除而报错了,
或者添加异常处理:
<pre name="code" class="vb">On Error GoTo d_Err d_Err: txtSID.Text = "" txtName.Text = "'" txtRudate.Text = "" txtBorndate.Text = "" txtComment.Text = "" txtTel.Text = "" txtAddress.Text = "" comboSex.Text = "" comboClassNo.Text = "" MsgBox "所有记录都被删除,记录集为空!",vbOKOnly + vbExclamation,"警告" Unload Me
运行时查询界面是这样的:<pre name="code" class="vb"><pre name="code" class="vb">With myflexgrid '列表标题 .Rows = 1 .CellAlignment = 4 .TextMatrix(0,0) = "考试编号" .TextMatrix(0,1) = "学号" .TextMatrix(0,2) = "姓名" .TextMatrix(0,3) = "班号" .TextMatrix(0,4) = "课程名称" .TextMatrix(0,5) = "分数" End With '如果没有查询的信息,提示 If mrc.EOF Then MsgBox "没有你想要的信息" End If Do While Not mrc.EOF With myflexgrid .Rows = .Rows + 1 .CellAlignment = 4 .TextMatrix(.Rows - 1,0) = mrc.Fields(0) .TextMatrix(.Rows - 1,1) = mrc.Fields(1) .TextMatrix(.Rows - 1,2) = mrc.Fields(2) .TextMatrix(.Rows - 1,3) = mrc.Fields(3) .TextMatrix(.Rows - 1,4) = mrc.Fields(4) .TextMatrix(.Rows - 1,5) = mrc.Fields(5) mrc.MoveNext End With Loop
【总结】
有些错误当系统给予明确提示时,用户便会避免相应的操作,也就避免了一些bug的产生,所以关于异常处理和系统信息提示这方面一定要做好明确的提示,也就避免了很多问题的产生。存在即有合理性,界面上的每一点变化肯定是由相关的属性设置或者是代码编写引起的,只要耐性查找,肯定或找到问题的原因所在。
感谢您的阅读,未完待续~~