学生信息管理系统之优化篇 --02

举报
ksh1998 发表于 2021/12/29 22:14:35 2021/12/29
【摘要】 前言:学生信息管理系统,逐渐的弄完第一遍了。感觉进度上的把控,还算可以。用了四到五天的时间,敲完了第一遍。今天下午算是,开始一点点的优化。下面将介绍,都做了哪些优化。 目录 EOF  and BOF : 日期格式: 文本框判断       是否为空     &nbs...

前言:学生信息管理系统,逐渐的弄完第一遍了。感觉进度上的把控,还算可以。用了四到五天的时间,敲完了第一遍。今天下午算是,开始一点点的优化。下面将介绍,都做了哪些优化。

目录

EOF  and BOF :

日期格式:

文本框判断

      是否为空

      是否是数字

全局进度:


EOF  and BOF :

    这个问题是,当数据没有数据的时候。在次进行操作会提醒,eof or bof 数据库没有数据。这问题的解决方案,是还是eof和bof本身来解决的。

概念:

      eof :游标的位置是否在最后一个 bof:游标的位置是否在第一个。根据这个的返回值,做一个判断就行了!

     viewData 过程代码


  
  1. Public Sub viewData()
  2. '判断是否是最后一条数据
  3. If Not (mrc.BOF = False And mrc.EOF = False) Then
  4. MsgBox "数据库目前已经是最后一条数据!", vbOKOnly + vbExclamation, "警告"
  5. txtClassno.Text = ""
  6. comboGrade.Text = ""
  7. txtDirector.Text = ""
  8. txtClassroom.Text = ""
  9. Else
  10. '否则显示数据
  11. txtClassno.Text = mrc.Fields(0)
  12. comboGrade.Text = mrc.Fields(1)
  13. txtDirector.Text = mrc.Fields(2)
  14. txtClassroom.Text = mrc.Fields(3)
  15. End If
  16. End Sub

 游标位置判断:


  
  1. '判断是否,数控是否还有数据
  2. If Not (mrc.BOF = False And mrc.EOF = False) Then
  3. Else
  4. mrc.MoveFirst
  5. End If

游标储存:


  
  1. '判断游标位置
  2. If Not (mrc.BOF = False And mrc.EOF = False) Then
  3. Else
  4. myBookmark = mrc.Bookmark '记录当前位置
  5. End If

日期格式:

模块内容:

·利用:LTrim()去空函数, len()统计个数函数,left ,right mid 的截取函数。实现,把日期字符串拆分。然后重新组合成需要的规格。


  
  1. '转换日期函数
  2. Public Function Fdata(txt As String) As String
  3. Dim a1 As String '接收转换内容
  4. Dim b1, b2, b3 As String '把接收的内容,进行分割
  5. a1 = LTrim(txt)
  6. If Len(a1) = 8 Then
  7. b1 = Left(a1, 4) '把接受内容按照日期格式,分割
  8. b2 = Mid(a1, 5, 2)
  9. b3 = Right(a1, 2)
  10. a1 = b1 & "-" & b2 & "-" & b3 '按照日期格式从新组合
  11. End If
  12. Fdata = a1
  13. End Function

调用:注册学籍为例


  
  1. '自动将日期转换
  2. txtBorndate.Text = Fdata(txtBorndate.Text)

文本框判断

      是否为空

            这个是需要提前在模块里创建一个,判断是否为空的函数。

           模块:      


  
  1. '判断是否输入信息
  2. Public Function Testtxt(txt As String) As Boolean
  3. If Trim(txt) = "" Then
  4. Testtxt = False
  5. Else
  6. Testtxt = True
  7. End If
  8. End Function

调用:还已注册学籍为例:


  
  1. '判断是否输入家庭地址
  2. If Not Testtxt(txtAddress.Text) Then
  3. MsgBox "请输输入联系电话!", vbOKOnly + vbExclamation, "警告"
  4. txtAddress.SetFocus
  5. Exit Sub
  6. End If

 

      是否是数字

这个函数是系统保留的,不需要自己创建:


  
  1. '判断输入学号是否是数字
  2. If Not IsNumeric(Trim(txtSID.Text)) Then
  3. MsgBox "请输入数字!", vbOKOnly + vbExclamation, "警告"
  4. Exit Sub '退出过程
  5. txtSID.SetFocus '获取焦点
  6. End If

全局进度:

 

 最后还有一个小问题:这个问题就是,上面用 not(mrc.BFO =false and mrc.EOF=false) 来判断,是否是最后一条数据确保了不会报错。但是这个代码需要要写很多遍,有那位大神会把这个过程抽象成一个过程或者一个函数。可以在哪用,直接调用模块的过程,就不用繁琐的写很多代码 了。有会的,请慷慨的评论到下面。具体的方法,或者推荐资料。

文章来源: kangshihang.blog.csdn.net,作者:康世行,版权归原作者所有,如需转载,请联系作者。

原文链接:kangshihang.blog.csdn.net/article/details/99709021

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。