msecn

 

数据连接模块

Option Explicit
'用户登录身份
Public gstrShenFen As String
Public gstrYongHuMing As String


'*****************************************************
            '目的:执行操作数据库的功能
                  
            '输入:
                   'SQL:为要执行的SQL语句。
                   'MsgString:为提示信息。
           
            '返回:如果执行SQL语句为select语句,可有记录集被返回;
                  '否则为空记录集。
'*****************************************************

Public Function ExecuteSQL(ByVal SQL As String, MsgString As String) _
As ADODB.Recordset

'定义变量
  Dim cnn As ADODB.Connection
  Dim rst As ADODB.Recordset

'分别存储SQL语句中的各个单词,用于判断SQL语句的类型
  Dim sTokens() As String
 
  On Error GoTo ExecuteSQL_Error
 
  '取出SQL语句中的各个单词
    sTokens = Split(SQL)
 
  '用cnn连接数据库
    Set cnn = New ADODB.Connection
    cnn.Open "dsn=xxgis;uid=xxgis;pwd=xxgis"  '数据库连接需要更改,可采用ole方式
 
  '如果是INSERT,DELETE,UPDATE中的SQL语句
    If InStr("INSERT,DELETE,UPDATE,ALTER,CREATE", UCase$(sTokens(0))) Then
        '执行SQL语句,不返回记录集
         cnn.Execute SQL
         MsgString = sTokens(0) & " query successful!"
    Else
        '否则,建立记录集
         Set rst = New ADODB.Recordset
        '得到查询结果(在多用户环境下可看到其他用户
        '对数据的修改<开销较大>,且只有在Update时才锁定记录集)
         rst.Open Trim$(SQL), cnn, adOpenDynamic, adLockOptimistic
        '并返回
         Set ExecuteSQL = rst
         MsgString = "查询到" & rst.RecordCount & "条记录!"
   End If
 
ExecuteSQL_Exit:
        '撤销对象并退出
        Set rst = Nothing
        Set cnn = Nothing
        Exit Function

ExecuteSQL_Error:
        '执行SQL语句出现错误
        MsgString = "查询错误:" & ERR.Description
       
        Resume ExecuteSQL_Exit
       
End Function

posted on 2005-12-12 21:44  C#学习历程  阅读(426)  评论(1)    收藏  举报

导航