dbEdit 元件有個很奇怪的問題 |
答題得分者是:GrandRURU
|
it1506
初階會員 ![]() ![]() 發表:32 回覆:89 積分:49 註冊:2011-02-16 發送簡訊給我 |
我寫的一個程式在一台 windows xp sp3 的電腦上 , 目前只發現那台XP會這樣, 試了其他3台xp電腦還沒有這種情況
該dbedit元件有個很奇怪的現象 我先說一下連結資料的方式: adoconnection ->AdoDataSet ->datasetProvider ->ClientDataSet ->Datasouce ->dbedit 這樣是避免user在前端改資料時,後端資料同步變動, 連的是sqlserver 2005 ,欄位型態是 numric(6,3) 當帶出來的資料是有小數點 2位以上時 例如 2.33 如果這時我把該欄位2.33改成 1.2 跳到別的欄位時 那個1.2就會自己補上0.03 會變成1.23 , 經測試, 若該欄帶出的資料有超過2位小數時,它會自己記住百分位跟千分位的數字 也就是當帶出 2.345時, 你若去改成3 ,然後跳到別的欄位, 它會自動變成 3.045 屢試不爽..... 這程式完全沒有用event , 資料寫入刪除修改帶出完全用 sql語法 所以在資料都在前端亂改是沒差的, 後端資料根本沒動. 詭異的地方就是那個數字欄位為何會這樣?? 這樣要怎麼除錯啊..... |
GrandRURU
站務副站長 ![]() ![]() ![]() ![]() ![]() ![]() 發表:240 回覆:1680 積分:1874 註冊:2005-06-21 發送簡訊給我 |
不一定需要DataSnap元件,而且ADO和DataSnap本身就不怎麼相容
而且,TADODataSet裡面有個「LockType」屬性,指定為「ltBatchOptimistic」 如此就可以達到你的要求了 ===================引 用 it1506 文 章=================== 我寫的一個程式在一台 windows xp sp3 的電腦上 , 目前只發現那台XP會這樣, 試了其他3台xp電腦還沒有這種情況 該dbedit元件有個很奇怪的現象 我先說一下連結資料的方式: adoconnection ->AdoDataSet ->datasetProvider ->ClientDataSet ->Datasouce ->dbedit 這樣是避免user在前端改資料時,後端資料同步變動, 連的是sqlserver 2005 ,欄位型態是 numric(6,3) 當帶出來的資料是有小數點 2位以上時 例如 2.33 如果這時我把該欄位2.33改成 1.2 跳到別的欄位時 那個1.2就會自己補上0.03 會變成1.23 , 經測試, 若該欄帶出的資料有超過2位小數時,它會自己記住百分位跟千分位的數字 也就是當帶出 2.345時, 你若去改成3 ,然後跳到別的欄位, 它會自動變成 3.045 屢試不爽..... 這程式完全沒有用event , 資料寫入刪除修改帶出完全用 sql語法 所以在資料都在前端亂改是沒差的, 後端資料根本沒動. 詭異的地方就是那個數字欄位為何會這樣?? 這樣要怎麼除錯啊..... |
it1506
初階會員 ![]() ![]() 發表:32 回覆:89 積分:49 註冊:2011-02-16 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |