日期:2014-05-16  浏览次数:20399 次

学生管理系统的总结

              首先画了一个图,是整个系统的工作过程:

系统用到的主要关于数据库的语句:

查询语句:"select * from 表 where  字段名='"&text1.text&"'" 

 

删除语句:1."delete from 表名 where 字段名 = '" & Trim(text1.Text) & "'"

                   2.recordset.delect

更新语句:recordset.addnew

                  recordset.fields(i)=trim(text1.text)

                   mrc.update

在这个系统中自己获得到的知识:

一.Sub main()作为启动窗体:

作用:1.有选择的加载需要的窗体

           2.启动程序时快速显示窗体

二.recordset的深入理解

这一代码加上后面调用这个函数使我更好的理解了recordset

Public Function ExecuteSQL(ByVal SQL As String, MsgString As String) As ADODB.Recordset
    'executes SQL and returns Recordset
   Dim cnn As ADODB.Connection                    '声明的连接
   Dim rst As ADODB.Recordset                      '声明的结果集
   Dim sTokens() As String                      '定义字符串数组
   
   On Error GoTo ExecuteSQL_Error                '处理错误

   sTokens = Split(SQL)                                           '把每个字符串分开,就例如查询语句,stokens(0)=select
   Set cnn = New ADODB.Connection                        '建立连接对象
   cnn.Open ConnectString                                            '调用连接数据库函数
   
   If InStr("INSERT,DELETE,UPDATE", UCase$(sTokens(0))) Then        '第一个词非Select语句
      cnn.Execute SQL   '数据量不大时,可以在连接上,直接执行SQL语句
      MsgString = sTokens(0) & " query successful"
      '虽然MsgString不是返回值,但传递方式是ByRef,实参地址和这个地址相同
   Else                                                             '第一个词是Select语句
      Set rst = New ADODB.Recordset
      rst.Open Trim$(SQL), cnn, adOpenKeyset, adLockOptimistic
      '得到临时表,游标指向第一条记录
     
      Set ExecuteSQL = rst
      MsgString = "查询到" & rst.RecordCount & _
         " 条记录 "
   End If
   
ExecuteSQL_Exit:                                                     '释放定义的结果集,连接,并退出程序
   Set rst = Nothing
   Set cnn = Nothing
   Exit Function
   
ExecuteSQL_Error:                                                '错误处理
   MsgString = "查询错误: " & _
      Err.Description
   Resume ExecuteSQL_Exit
End Function

三.控件的了解

  1.做查询功能时,MSHFlexgrid控件的了解和运用

   2.在修改代码时进一步对listbox的属性和方法的了解

四:登陆系统时首先获取用户名的api函数GetUserName的运用

 

  Dim strBuffer As String
    Dim lgSize As Long
    strBuffer = Space$(255)   '分配255个字符空间
    lgSize = Len(strBuffer)
    Call GetUserName(strBuffer, lgSize)    '获取当前用户名,有利于安全性
    'API中字符串作参数,需要提前确定大小
    If lgSize > 0 Then
        txtUserName.Text = "student"
    Else
        txtUserName.Text = vbNullString   '没有字符串
    E