【VB】学生信息管理系统 模块代码总结

公共模块

另一位博主的模块代码

添加函数executeSQL——执行SQL语句

Public Function(功能) ExecuteSQL(ByVal SQL As String, msgstring As String) As ADODB.Recordset(记录集)

'两个参数:SQL用来存放需要执行的SQL语句,msgstring用来返回执行的提示信息。对这两个参数进行数据类型定义,定义为字符串型。
ByVal——按值传递关键字。在定义通用过程时,如果形参前面有关键字ByVal,则该参数用传值方式传送,否则即以引用(即按地址)方式传递。
   '传递参数SQL传递查询语句,MsgString传递查询信息
    '自身以一个数据集对象的形式返回
      
     Dim cnn As ADODB.Connection
    ' 定义cnn 为数据库链接的形式,配合connectstring()函数链接并打开数据库 
       
      Dim rst As ADODB.Recordset
    '定义一个临时表(记录集),来存放数据库中取出的数据源

       Dim sTokens() As String
      '定义一个字符串数组sTokens(),将SQL语句按数组的形式存放,在程序中要使用变量,这些是数组变量,要先定义

        On Error GoTo ExecuteSQL_error
       '如果出错,进行的应急处理。执行时发生错误,将转到executeSQL语句处继续执行
  
      '用Split函数产生一个包含各个字符串的数组(通过split函数将sql 语句按单词存入数组,例:如果sql语句是 select * from student ,那么运行的结果就是——stokens(0)= "select",stokents(1)="*" ,stokens(2)="from",stokens(3)="student"  )
        sTokens = Split(SQL)——split分歧,分裂
   
   '创建链接
        Set cnn = New ADODB.Connection
  
    '通过connectstring将数据库链接,并且打开
        cnn.Open ConnectString
   
   '判断数组字符串中是否含有指定内容(Ucase$-将字符串全部转换成大写后判断是否存在)
        If InStr("INSERT,DELETE,UPDATE", UCase$(sTokens(0))) Then
   
 '执行查询语句
        cnn.Execute SQL
   
 '返回查询信息
        msgstring = sTokens(0) & "query successful"
    Else
   
 '创建数据集对象
        Set rst = New ADODB.Recordset
  
  '返回查询结果(rst临时表记录并打开trim记录的SQL操作字符串在数据库中的查询结果,以cnn的字符串表达式打开方式打开ODBC数据源,adOpenKeyset确定游标类型(查找方式)为键集游标(不能访问其他用户删除的记录,但除无法查看其他用户添加的记录外,它和动态游标相似。其他用户所做的数据更改依然可见),adlockoptimistic确定加锁类型(当数据源正在更新时,系统并不会锁住其他用户的动作,其他用户可以对数据进行增、删、改的操作)
        rst.Open Trim$(SQL), cnn, _
            adOpenKeyset, _
            adLockOptimistic
        'rst.MoveLast  'get recordcount
   
 '返回记录集对象(将得到的临时列表赋值给executeSQL函数,由他传回并进一步赋值给mrc)
        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

你可能感兴趣的:(学生信息管理项目,VB与数据库知识)