错误和批处理
执行一批 SQL 语句的过程中发生错误时,可能会得到以下四个结果之一。 (每个可能的结果都是特定于数据源的,甚至可能依赖于批处理中包含的语句。)
批处理中的任何语句都未执行。
批处理中的任何语句都未执行,并且将回滚事务。
执行错误语句之前的所有语句。
执行错误语句以外的所有语句。
在前两种情况下,SQLExecute 和 SQLExecDirect 返回 SQL_ERROR。 在后两种情况下,根据实现情况,它们可能会返回 SQL_SUCCESS_WITH_INFO 或 SQL_SUCCESS。 在所有情况下,都可以使用 SQLGetDiagField、SQLGetDiagRec 或 SQLError 检索进一步的错误信息。 但是,此信息的性质和深度因数据源而异。 此外,此信息不太可能准确地标识出错的语句。