《学生信息管理系统》知识点总结

    写这个系统的代码的时候,有很多函数还有VB知识不懂,现在明白了些,整理下,打包下收获:

    

    1.trim函数

    好多个窗体的代码里都有用这个函数,一开始啥都不懂,哎,怎么我也没查查呢,忘了为什么了...反正跟个机器似的,一直在那敲,敲完了,一头雾水,整的个啥呢,那就开始倒嚼吧,于是上网,2秒钟得到结果,我靠,这么简单:删除字符串中多余的空格,但会在英文字符串中保留一个作为词与词之间分隔的空格。SQL 中的 TRIM 函数是用来移除掉一个字串中的字头或字尾。最常见的用途是移除字首或字尾的空白。这个函数在不同的资料库中有不同的名称。

    好几天不懂的东西,秒秒钟搞定了...

    ltrim   去掉左边空格

    rtrim   去掉右边空格

    2.end sub 和 exit sub

    end sub 结束一个过程,exit sub 从过程中退出,这个exit sub 在我优化的系统中起到了举足轻重的地位,程序执行到end sub 表示这个进程执行完了,执行到exit sub ,表示从进程中退出,后面的代码就不用执行了。看起来好像一样,有时候我们需要在一定的条件下从过程中退出,而当条件不足时,就不要退出。

    比如修改课程信息里面的删除记录按钮

《学生信息管理系统》知识点总结_第1张图片


     看下代码,注意找里面的exit sub


Private Sub deleteCommand_Click()
    myBookmark = mrc.Bookmark
    str2 = MsgBox("是否删除当期记录?", vbOKCancel, "删除当期记录")
    
    On Error GoTo gperror
    
    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  '在这儿,这个exit sub 作用很大
gperror:
    MsgBox "已经没有记录了,窗口即将关闭!", vbOKOnly + vbInformation, "提示"
    txtCourseno = ""
    Unload Me
    
    str1 = MsgBox("记录都删没了,还添加吗?", vbOKCancel + vbQuestion, "问题:")
    If str1 = vbOK Then
        frmAddcourseinfo.Show
    End If
             
End Sub

     

    程序就这么一行一行的执行着,当点击删除记录按钮后,如果还有记录则显示,如果删除的是正好是最后一条记录,这时,不执行任何操作,程序肯定就会报错,显示eof和bof重合,那么从Exit Sub 那退出过程,开始执行事先编写的错误处理语句,完美解决问题。

    系统代码中还有很多Exit Sub,作用不可小觑。

   

     3.SQL Server 2008里各种DateTime的取值范围


       我的网易博客


            4.入学日期和出生日期的比较


      定义两个日期型变量即可直接比较,解决问题

                Dim borndate As Date  '定义这两个变量,后期进行输入出生和入学时期的比较
                Dim getdate As Date
                
                borndate = Trim(txtBorndate.Text)
                getdate = Trim(txtRudate.Text)

                If getdate <= borndate Then
                    MsgBox "入学时间不能小于出生时间,(+﹏+)~狂晕 请重新输入", vbOKOnly + vbInformation, "提示"
                    txtRudate.SetFocus
                    Exit Sub
                End If

      5.ExecuteSQL函数


     这个还没有深入了解,知道它是个函数,要执行SQL语句,系统中有这么一句

     

      Set mrc = ExecuteSQL(txtSQL, MsgText)

     括号里面的两个参数 txtSQL 是用来执行的SQL语句 比如:select * from 表;MsgText参数 指的是执行完SQL语句后的弹出框,是成功了还是失败了之类的。

     李亚松的博客有解释这个函数的定义,注释做的很好。


             6. Dim str2$ AS Boolean  这句错误代码


     字符串型(String) 这一数据类型声明符是用 $ 表示的,它与Boolean相互冲突。而且MsgBox返回的是Integer值。

     这么写就不会出错了:

    Dim str2 As Integer
    str2 = MsgBox("是否删除当前记录?", vbOKCancel, "删除当前记录")

   

     7.Dim mrcc AS ADODB.Recordset

      

     一直把mrcc还写作mrc,最后程序跑起来总是得不到结果,然后改为mrcc,竟然成功了...没想到,真有这个mrcc啊,而且定义都为记录集,好吧,才疏学浅


     还有很多不懂的,在机房收费系统中再次长见识吧。   

    


你可能感兴趣的:(学生信息管理系统)