上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
Abel
註冊時間: 2005-03-14 文章: 189 來自: 鹿港小鎮
第 1 樓
|
發表於: 星期三 六月 29, 2005 1:26 pm 文章主題: remote view 中前後修改同一欄位發生-更新衝突 |
|
|
請問:一個 更新衝突的問題
我在 vfp 中去更新 remote view 中的某一特定欄位,當相同程式 執行兩次以上 都去修改同一個欄位,
當然每個程式修改的值不一定相同(最後離開的程式會回覆最最原始的值),會發生 更新衝突,請問
是不可以這樣做嗎 ?
又,我改程式,在 replace 後馬上 TABLEUPDATE(0,.T.),結果也會發生相同的錯誤,請問如何處置,
感謝各位。
ps: 我有先去 搜尋 'update' , '更新衝突' ,未得其解,謝謝。 |
|
回頂端 |
|
 |
Abel
註冊時間: 2005-03-14 文章: 189 來自: 鹿港小鎮
第 2 樓
|
發表於: 星期三 六月 29, 2005 3:09 pm 文章主題: |
|
|
再補充
這個欄位是存放一個程式中的控制值,這個值將決定在整個系統中所有產生 新增單據 的控管月數,
簡單的說如果值為 1 那麼在整個系統中所有 新增、修改 的單據就會被控制在 正負一個月內,2
就是兩個月 …
目前正常為 1, 但因為有些部份需要,各單位需要做控制的開放,原程式是以前為外購,我目前負
責維護,所以寫一支外部小程式給各部門自行修改(當然程式中會記錄相關必要的資訊),所以
必需對同一筆同欄位,去 更新 各單位所需要的控制月份,現在就發生 A單位 B單位 … … 都各自
執行 client 端的那支小程式,如果只是各自改各自的還沒事,只是最最後離開者,必需將該欄位
再回歸 1,所以就出現這個 更新衝突 的問題了。
請各位高人出個手解解吾惑吧,謝謝。 |
|
回頂端 |
|
 |
Abel
註冊時間: 2005-03-14 文章: 189 來自: 鹿港小鎮
第 3 樓
|
發表於: 星期四 六月 30, 2005 9:01 am 文章主題: |
|
|
我不了解的是,明明已經更新寫入欄位完成後,另一支程式再去更新怎麼會有衝突,
除非 前一個寫入動作 沒有完成。 |
|
回頂端 |
|
 |
bin1x
註冊時間: 2004-08-27 文章: 462
第 4 樓
|
發表於: 星期四 六月 30, 2005 9:15 am 文章主題: |
|
|
之前,有這麼一個經驗在
轉foxpro的table 進入sql
由於安全起見,所以foxpro的table 都採假刪除
而sql 的資料庫在設計規劃時,將主key (通常還有unique key)定義出來
而在做sql 上移時
就出現錯誤了,原因是"更新衝突"
後來,我就把table pack 之後,再把資料上移
就沒有這個問題了
所以剩下的問題是否是主key (unique key)
以及remote view 中的更新條件 先delete 後insert ,或是update
還有更新欄位
可能往這個方向查吧
如果資料有他人在編輯時,update 比較好
如果資料delete 後 insert 永遠都是最新的 |
|
回頂端 |
|
 |
Abel
註冊時間: 2005-03-14 文章: 189 來自: 鹿港小鎮
第 5 樓
|
發表於: 星期四 六月 30, 2005 9:42 am 文章主題: |
|
|
感謝 bin1x 的指導與回覆,我也正往這個方向查,只是 SQL 還在學習中…進度慢
想另外請教 bin1x 您是如何學習 SQL 的,我還很依賴 VFP 再加上我這裡的環境中
不太允許我去動 data server 所以我大都在我自己的電腦上去做,不久前才在書局
中查到 sql server 2000 的個人版可以在自己電腦中做出 local server 直接在自己
電腦中就可以操作,不用兩用二台,可是又不太知從何下手,都是在 vfp 去操作,
告訴我您是從何下手。 |
|
回頂端 |
|
 |
syntech
註冊時間: 2003-05-16 文章: 4249 來自: Taipei,Taiwan
第 6 樓
|
發表於: 星期四 六月 30, 2005 10:11 am 文章主題: |
|
|
裝試用版就可以了,M$可以下載120天試用版 _________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
 |
Abel
註冊時間: 2005-03-14 文章: 189 來自: 鹿港小鎮
第 7 樓
|
發表於: 星期四 六月 30, 2005 10:49 am 文章主題: |
|
|
我現在又發現,不管我用多少支程式去改 同一筆同欄位 的值 一次,都不會有 更新衝突 的情形發生,
但是如果我用同一支程式前後去更改 那個值 兩次,這同時也有其它程式一樣去改這個值 一次(如果
只有單一支程式 run 去更新那個值前後兩次也沒事),就會發生 更新衝突,不知何解 ? |
|
回頂端 |
|
 |
syntech
註冊時間: 2003-05-16 文章: 4249 來自: Taipei,Taiwan
第 8 樓
|
發表於: 星期四 六月 30, 2005 1:11 pm 文章主題: |
|
|
大概要查 OLDVAL(),CURVAL()之類的. _________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
 |
bin1x
註冊時間: 2004-08-27 文章: 462
第 9 樓
|
發表於: 星期四 六月 30, 2005 1:12 pm 文章主題: |
|
|
Abel 寫到: | 感謝 bin1x 的指導與回覆,我也正往這個方向查,只是 SQL 還在學習中…進度慢
想另外請教 bin1x 您是如何學習 SQL 的,我還很依賴 VFP 再加上我這裡的環境中
不太允許我去動 data server 所以我大都在我自己的電腦上去做,不久前才在書局
中查到 sql server 2000 的個人版可以在自己電腦中做出 local server 直接在自己
電腦中就可以操作,不用兩用二台,可是又不太知從何下手,都是在 vfp 去操作,
告訴我您是從何下手。 |
不用吧
在sql 7.0 時有所謂的desktop 端
就可以用了吧
據說啦
2000才叫professional |
|
回頂端 |
|
 |
|