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

来源:互联网 发布:淘宝手机架 编辑:程序博客网 时间:2024/05/16 18:42

公共模块

另一位博主的模块代码

添加函数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_ExitEnd Function
原创粉丝点击