验正SQL语句??
那只好用
on error goto了    

解决方案 »

  1.   

    如果SQL语句出错,可能过通err.number或者err.Description来查看错误信息,用On error goto 来设置错误陷阱!
      

  2.   

    方法一:Public Function CheckSQL(SQLScript As String, SQLServer As String, _
            UserName As String, PassWord As String, _
            DataBase As String, Optional ErrDescription As String) As Long
        '=========================================
        '作用:检查SQL语句
        '参数:
        '   SQLScript:要检查的SQL语句
        '   SQLServer:要连接的SQL服务器
        '   UserName:登录SQL的用户名
        '   PassWord:登录SQL的密码
        '   DataBase:要连接的SQL数据库
        '   ErrDescription:错误描述
        '返回值:
        '   Long类型,为0表示无错
        '=========================================
        
        On erorr GoTo SqlErr
        
        '设置数据连接
        Dim cnnTmp As ADODB.Connection
        
        Set cnnTmp = New ADODB.Connection
        
        With cnnTmp
            .ConnectionString = "Provider=SqlOledb.1;User Id=" & UserName & ";Password=" & PassWord & ";" & _
                                "Initial Catalog=" & DataBase & ";Data Source=" & SQLServer
            .CursorLocation = adUseClient
            .CommandTimeout = 30
            
            .Open
            .BeginTrans '开始事务,以免被检查语句为影响数据的操作,如insert、Delete、update等
            .Execute SQLScript
            .RollbackTrans  '事务回滚
            .Close
        End With
        
        
        Exit Function
        
    SqlErr:
        
        CheckSQL = Err.Number
        ErrDescription = Err.Description
        
        If cnnTmp.State = adStateOpen Then
            cnnTmp.RollbackTrans    '事务回滚
            cnnTmp.Close
        End If
    End Function方法二:当然是自己写语法检查器喽,太累,不好方法一来得便捷