当VB程序出现SQL_ERROR 或 SQL_SUCCESS_WITH_INFO时,如何进行错误处理?
这时,需要使用对象adodb.sqlerror代替err对象来得到原始错误,因为err对象无法得到数据库的原始错误代码。下面是VB程序中进行错误处理的示例:
// VB
Dim objConn As New ADODB.Connection
On Error GoTo ErrorHandle
objConn.Open "dsn=dbsample4"
objConn.Execute "insert into t1 values (2, '12345678901234567abcdefg')"
If objConn.Errors.Item(0).NativeError = 63 Then 'success with info
Err.Raise objConn.Errors.Item(0).NativeError, objConn.Errors.Item(0).Source, objConn.Errors.Item(0).Description, objConn.Errors.Item(0).HelpFile, objConn.Errors.Item(0).HelpContext
End If
Set objConn = Nothing
ErrorHandle:
Err.Raise objConn.Errors.Item(0).NativeError, objConn.Errors.Item(0).Source, objConn.Errors.Item(0).Description, objConn.Errors.Item(0).HelpFile, objConn.Errors.Item(0).HelpContext
Set objConn = Nothing