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