二級foxpro輔導(dǎo)更新源表

字號:

當(dāng)你準(zhǔn)備用離線視圖中的變化更新源表時, 在 use 命令中使用online 子句來打開視圖使其與源表"關(guān)聯(lián)", 然后使用tableupdate()。
    以online 模式打開視圖需要對視圖表以獨(dú)占的方式訪問否則會發(fā)生錯誤,并表能使視圖與源表關(guān)聯(lián); 它簡單的打開視圖并準(zhǔn)備更新源表。以下是示例代碼:
    use LV_CUSTOMER online exclusive
    與admin 模式一樣, 視圖在online 模式下打開時會自動使用表緩存而不是行緩存。
    在online模式下打開一個離線視圖不會自動打開源表,除非你發(fā)布一條tableupdate() 命令。
    在以online 模式打開視圖后, 使用 tableupdate() 命令來把離線視圖中的修改更新到源表。這與從表緩存中或聯(lián)線視圖中更新數(shù)據(jù)到表中完全一樣: 如果發(fā)現(xiàn)沖突或規(guī)則(字段或表表驗(yàn)證, 主關(guān)鍵字或候選關(guān)鍵字, 或觸發(fā)器) 違反, tableupdate() 會失敗而你可以用getnextmodified() 和 getfldstate() 來確定哪些記錄中的哪些字段被修改并處理這些沖突和規(guī)則違反。
    從離線視圖中更新源表不會讓視圖與源數(shù)據(jù)相聯(lián), 也不會以源表中的數(shù)據(jù)刷新視圖 (例如, 被其它離線視圖修改或?qū)υ幢淼闹苯有薷?。