zoaoo

博客园 首页 新随笔 联系 订阅 管理
static void KTL_DBSynchronize(Args _args) 
{ 
    Dictionary dict; 
    int idx, lastIdx, totalTables; 
    TableId tableId; 
    Application application; 
    SysOperationProgress progress; 
    StackBase errorStack; 
    ErrorTxt errorTxt; 
    ; 
    application = new Application(); 
    dict = new Dictionary(); 
    totalTables = dict.tableCnt(); 
    progress = new SysOperationProgress(); 
    progress.setTotal(totalTables); 
    progress.setCaption("@SYS90206"); 
    errorStack = new StackBase(Types::String); 
    lastIdx = 0; 
    try 
    { 
        for (idx = lastIdx+1; idx <= totalTables; idx++) 
        { 
            tableId = dict.tableCnt2Id(idx); 
            progress.setText(dict.tableName(tableId)); 
            lastIdx = idx; 
            application.dbSynchronize(tableId, false, true, false); 
            progress.incCount(); 
        } 
    } 
    catch (Exception::Error) 
    { 
        errorTxt = strFmt("Error in table '%1' (%2)", tableId, dict.tableName(tableId)); 
        errorStack.push(errorTxt); 
        retry; 
    } 
    setPrefix("@SYS86407"); 
    errorTxt = errorStack.pop(); 
    while (errorTxt) 
    { 
        error(errorTxt); 
        errorTxt = errorStack.pop(); 
    } 
}

 

posted on 2017-04-25 14:13  zoaoo  阅读(190)  评论(0)    收藏  举报