同仁堂中医医院 医保:急!!VB 连接数据库的问题!! 回答好的 追加200分数!!

来源:百度文库 编辑:神马品牌网 时间:2024/04/27 20:14:45
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)
Set cnn = New ADODB.Connection
cnn.Open ConnectString
If InStr("INSERT,DELETE,UPDATE", _
UCase$(sTokens(0))) Then
cnn.Execute SQL
MsgString = sTokens(0) & _
" query successful"
Else
Set rst = New ADODB.Recordset
rst.Open Trim$(SQL), cnn, _
adOpenKeyset, _
adLockOptimistic
'rst.MoveLast 'get RecordCount
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

这个函数谁给解释一下!! ,重点是关键地方!! 嫌打字 加我QQ给我解释,我分很多,追加分数好商量!!
QQ66940059

Public Function ExecuteSQL(ByVal SQL As String, MsgString As String) As ADODB.Recordset 定义了一个函数 (sql为字符参数,msg字符参数) 定义成 一个记录集
'executes SQL and returns Recordset 这里是说明 执行SQL和返回SQL记录
Dim cnn As ADODB.Connection 声明变量
Dim rst As ADODB.Recordset 声明变量
Dim sTokens() As String 声明函数变量

On Error GoTo ExecuteSQL_Error 遇到错误就跳到 另一个函数 sql_error这个

sTokens = Split(SQL) 赋值
Set cnn = New ADODB.Connection 建立新的数据库连接
cnn.Open ConnectString 打开 conn这个字符串 (就是打开这个数据库文件,你这里没写,因该是声明了全局变量)
If InStr("INSERT,DELETE,UPDATE",UCase$(sTokens(0))) Then 这里就是判断是插入还是删除还是更新了
cnn.Execute SQL 然后执行相应的SQL命令
MsgString = sTokens(0) & " query successful" 然后给出提示 命令执行成功
Else 否则 那就是查找的语句了
Set rst = New ADODB.Recordset 就是建立记录集
rst.Open Trim$(SQL), cnn, adOpenKeyset, adLockOptimistic 这里是打开这个数据库
'rst.MoveLast 'get RecordCount 这里是提示 就是把rst声明的表,移到最后一条 get 这里是取的记录数
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

还有不懂吗???这是一段,,查询功能的函数

.........