你可以在执行:ISQL /S /U /P /i"" -o"输出的文件名" 后,通过读取:输出的文件 中的内容来判断是否出错.及出错原因.但要注意,一般程序的调用isql都是异步执行的(即执行后,不会等待执行完成就执行下个语句).这点要在程序中做控制处理.

解决方案 »

  1.   

    '下面是解决VB中异步执行的例子.Option Explicit' ShellWat sample by Matt Hart - [email protected]
    ' http://www.webczar.com/defcon/mh/vbhelp.html
    ' http://www.webczar.com/defcon/mh
    '
    ' Shows how to shell to another program, and wait until it finishes
    ' before continuing.Private Declare Function WaitForSingleObject Lib "kernel32" _
       (ByVal hHandle As Long, ByVal dwMilliseconds As Long) As LongPrivate Declare Function CloseHandle Lib "kernel32" _
       (ByVal hObject As Long) As Long
       
    Private Declare Function OpenProcess Lib "kernel32" _
       (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, _
        ByVal dwProcessId As Long) As LongPrivate Const INFINITE = -1&
    Private Const SYNCHRONIZE = &H100000Private Sub Command1_Click()
        Dim iTask As Long, ret As Long, pHandle As Long
        iTask = Shell("notepad.exe", vbNormalFocus)
        pHandle = OpenProcess(SYNCHRONIZE, False, iTask)
        ret = WaitForSingleObject(pHandle, INFINITE)
        ret = CloseHandle(pHandle)
    End Sub