Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (中文) » UltraLite - C 及 C++ 编程 » API 参考 » UltraLite C/C++ 公共 API 参考

 

ULRegisterErrorCallback 的回调函数

处理 UltraLite 运行时向您的应用程序发出的错误。

有关使用此技术处理错误的说明,请参见ULRegisterErrorCallback 函数

语法
ul_error_action UL_GENNED_FN_MOD error-callback-function (
SQLCA * sqlca,
ul_void * user_data,
ul_char * buffer
);
参数
  • error-callback-function   函数的名称。必须将此名称提供给 ULRegisterErrorCallback。

  • sqlca   指向 SQL 通信区 (SQLCA) 的指针。

    SQLCA 将 SQL 代码包含在 sqlca->sqlcode 中。已从 SQLCA 中检索出所有错误参数,并存储在 buffer 中。

    此 sqlca 指针不一定指向应用程序中的 SQLCA,因此不能用于回调到 UltraLite。它仅用于将 SQL 代码传递给回调函数。

    在 C++ 组件中,请使用 Sqlca.GetCA 方法。

  • user_data   提供给 ULRegisterErrorCallback 的用户数据。UltraLite 不会以任何方式更改此数据。由于可以从应用程序的任何位置调用回调函数,因此 user_data 参数可以代替创建全局变量。

  • buffer   注册回调函数时提供的缓冲区。UltraLite 用一个字符串填充缓冲区,该字符串中包含错误消息的任何替代参数。为了使 UltraLite 尽可能小,UltraLite 不提供错误消息本身。替代参数取决于特定的错误。有关 SQL 错误的错误参数的详细信息,请参见SQL Anywhere 错误消息

返回值

返回以下操作之一:

  • UL_ERROR_ACTION_CANCEL   取消引发错误的操作。

  • UL_ERROR_ACTION_CONTINUE   继续执行操作,忽略引发错误的操作。

  • UL_ERROR_ACTION_DEFAULT   行为与没有错误回调时一样。

  • UL_ERROR_ACTION_TRY_AGAIN   重试引发错误的操作。

另请参见