Public mAdoRec As New ADODB.Recordset
Public mAdoCon As New ADODB.Connection
Public Function DoSql(sqlstr As String, Optional Isreturn As Boolean = False) As Boolean
    On Error GoTo mErr:
    If Isreturn = True Then
        If mAdoRec.State = 1 Then mAdoRec.Close
        mAdoRec.Open sqlstr, mAdoCon, adOpenStatic
    Else
        mAdoCon.Execute sqlstr
    End If
    On Error GoTo 0
    DoSql = True
    Exit Function
    
mErr:
    MsgBox err.Number & ":" & err.Description & ",sqlstr='" & sqlstr & "'" & vbCrLf
    DoSql = False
End Function
请具体到每一行的解释,谢谢。

解决方案 »

  1.   

    大概就是实现打开一个记录集,然后执行一个SQL语句的功能。
      

  2.   

    同意楼上的说法
    打开数据库执行 SQL语句
    同常放到 一个类模块中供程序调用
      

  3.   


    Public mAdoRec As New ADODB.Recordset
    Public mAdoCon As New ADODB.Connection
    Public Function DoSql(sqlstr As String, Optional Isreturn As Boolean = False) As Boolean
    定义函数DoSql
    第一个参数为传入的Sql语句
    第二个参数是有选择的
    如果调用时不加第二个参数,刚系统默认为假
        On Error GoTo mErr:
    如果运行时发生错误就跳到 mErr 处
        If Isreturn = True Then 判断传入参数的值
            If mAdoRec.State = 1 Then mAdoRec.Close 如果mAdoCon连接打开着,就先将它关闭
            mAdoRec.Open sqlstr, mAdoCon, adOpenStatic 执行传入的sqlstr语句
        Else
            mAdoCon.Execute sqlstr 执行传入的sqlstr语句
        End If
        On Error GoTo 0 恢复运行时出错时的处理方法
        DoSql = True  函数返回值为真
        Exit Function 退出函数
        
    mErr:‘如果刚才运行出错时将自动跳到这一步
        MsgBox err.Number & ":" & err.Description & ",sqlstr='" & sqlstr & "'" & vbCrLf 弹出一个消息框,显示错误号,描述和传入的sqlstr的内容
        DoSql = False 函数返回值为假
    End Function