学生信息管理系统之优化篇 --02
前言:学生信息管理系统,逐渐的弄完第一遍了。感觉进度上的把控,还算可以。用了四到五天的时间,敲完了第一遍。今天下午算是,开始一点点的优化。下面将介绍,都做了哪些优化。
目录
EOF and BOF :
这个问题是,当数据没有数据的时候。在次进行操作会提醒,eof or bof 数据库没有数据。这问题的解决方案,是还是eof和bof本身来解决的。
概念:
eof :游标的位置是否在最后一个 bof:游标的位置是否在第一个。根据这个的返回值,做一个判断就行了!
viewData 过程代码
-
Public Sub viewData()
-
'判断是否是最后一条数据
-
If Not (mrc.BOF = False And mrc.EOF = False) Then
-
MsgBox "数据库目前已经是最后一条数据!", vbOKOnly + vbExclamation, "警告"
-
txtClassno.Text = ""
-
comboGrade.Text = ""
-
txtDirector.Text = ""
-
txtClassroom.Text = ""
-
Else
-
'否则显示数据
-
txtClassno.Text = mrc.Fields(0)
-
comboGrade.Text = mrc.Fields(1)
-
txtDirector.Text = mrc.Fields(2)
-
txtClassroom.Text = mrc.Fields(3)
-
End If
-
End Sub
游标位置判断:
-
'判断是否,数控是否还有数据
-
If Not (mrc.BOF = False And mrc.EOF = False) Then
-
-
Else
-
mrc.MoveFirst
-
End If
游标储存:
-
'判断游标位置
-
If Not (mrc.BOF = False And mrc.EOF = False) Then
-
-
Else
-
-
myBookmark = mrc.Bookmark '记录当前位置
-
End If
日期格式:
模块内容:
·利用:LTrim()去空函数, len()统计个数函数,left ,right mid 的截取函数。实现,把日期字符串拆分。然后重新组合成需要的规格。
-
'转换日期函数
-
Public Function Fdata(txt As String) As String
-
Dim a1 As String '接收转换内容
-
Dim b1, b2, b3 As String '把接收的内容,进行分割
-
a1 = LTrim(txt)
-
If Len(a1) = 8 Then
-
b1 = Left(a1, 4) '把接受内容按照日期格式,分割
-
b2 = Mid(a1, 5, 2)
-
b3 = Right(a1, 2)
-
a1 = b1 & "-" & b2 & "-" & b3 '按照日期格式从新组合
-
End If
-
Fdata = a1
-
End Function
调用:注册学籍为例
-
'自动将日期转换
-
txtBorndate.Text = Fdata(txtBorndate.Text)
文本框判断
是否为空
这个是需要提前在模块里创建一个,判断是否为空的函数。
模块:
-
'判断是否输入信息
-
Public Function Testtxt(txt As String) As Boolean
-
-
If Trim(txt) = "" Then
-
Testtxt = False
-
Else
-
Testtxt = True
-
End If
-
End Function
调用:还已注册学籍为例:
-
'判断是否输入家庭地址
-
If Not Testtxt(txtAddress.Text) Then
-
MsgBox "请输输入联系电话!", vbOKOnly + vbExclamation, "警告"
-
txtAddress.SetFocus
-
Exit Sub
-
End If
是否是数字
这个函数是系统保留的,不需要自己创建:
-
'判断输入学号是否是数字
-
If Not IsNumeric(Trim(txtSID.Text)) Then
-
MsgBox "请输入数字!", vbOKOnly + vbExclamation, "警告"
-
Exit Sub '退出过程
-
txtSID.SetFocus '获取焦点
-
End If
全局进度:
最后还有一个小问题:这个问题就是,上面用 not(mrc.BFO =false and mrc.EOF=false) 来判断,是否是最后一条数据确保了不会报错。但是这个代码需要要写很多遍,有那位大神会把这个过程抽象成一个过程或者一个函数。可以在哪用,直接调用模块的过程,就不用繁琐的写很多代码 了。有会的,请慷慨的评论到下面。具体的方法,或者推荐资料。
文章来源: kangshihang.blog.csdn.net,作者:康世行,版权归原作者所有,如需转载,请联系作者。
原文链接:kangshihang.blog.csdn.net/article/details/99709021
- 点赞
- 收藏
- 关注作者
评论(0)