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 参考 » 嵌入式 SQL API 参考

 

ULGetSynchResult 函数

包含最近进行的同步的结果的结构,以便在应用程序中可以采取相应的操作:

语法
ul_bool ULGetSynchResult(
ul_synch_result  * synch-result
);
参数

synch-result   一个用于保存同步结果的结构。此结构在 ulglobal.h 中定义如下:

typedef struct ul_synch_result {
    an_sql_code         sql_code;
    char                     sql_error_string[];
    ul_stream_error   stream_error;
    ul_bool                 upload_ok;
    ul_bool                 ignored_rows;
    ul_auth_status     auth_status;
    ul_s_long             auth_value;
    SQLDATETIME      timestamp;
    ul_bool                partial_download_retained;
    ul_synch_status   status;
} ul_synch_result, * p_ul_synch_result;

各参数包括:

  • sql_code   上一次同步中的 SQL 代码。有关 SQL 代码的列表,请参见按 SQLSTATE 排序的 SQL Anywhere 错误消息

  • sql_error_string   与在字段 sql_code 中报告的错误相关联的错误消息文本。

  • stream_error   ul_stream_error 类型的结构。请参见Stream Error 同步参数

  • upload_ok   如果上载成功则为 true;否则为 false。

  • ignored_rows   如果忽略了上载的行,则为 true;否则,为 false。

  • auth_status   同步验证状态。请参见Authentication Status 同步参数

  • auth_value   MobiLink 服务器用于确定 auth_status 结果的值。请参见Authentication Value 同步参数

  • timestamp   上一次同步的时间和日期。

  • partial_download_retained   指示是否已保留部分下载的标记。

  • status   观察器函数使用的状态信息。请参见Observer 同步参数

返回值
  • 如果操作成功,则返回 True。

  • 如果操作失败,则返回 False。

注释

应用程序必须先分配一个 ul_synch_result 对象,然后才能将其传递给 ULGetSynchResult。该函数用上次同步的结果填充 ul_synch_result。这些结果永久存储在数据库中。

此函数在使用 HotSync 在 Palm OS 上同步应用程序时特别有用,因为同步发生在应用程序自身之外。连接中设置的 SQLCODE 值反映连接操作自身的结果。同步状态和结果仅写入 HotSync 日志。要获取扩展的同步结果信息,请在连接数据库时调用 ULGetSynchResult。

示例

下面的代码检查上一同步是否成功。

ul_synch_result synch_result;
memset( &synch_result, 0, sizeof( ul_synch_result ) );
db_init( &sqlca );
EXEC SQL CONNECT "dba" IDENTIFIED BY "sql";
if( !ULGetSynchResult( &sqlca, &synch_result ) ) {
    prMsg( "ULGetSynchResult failed" );
}