|
VFP 愛用者社區 本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
|
上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
kmkna1103
註冊時間: 2008-05-08 文章: 119 來自: 台灣
第 1 樓
|
發表於: 星期五 八月 08, 2014 2:32 pm 文章主題: 更新衝突 |
|
|
VFP6+SQL2000 用VIEW的方式,如果有2個使用者編輯同一筆記錄在存檔,後存檔者會發生更新衝突,請問有什麼方式能避開這個問題呢? |
|
回頂端 |
|
|
syntech
註冊時間: 2003-05-16 文章: 4225 來自: Taipei,Taiwan
第 2 樓
|
發表於: 星期五 八月 08, 2014 2:37 pm 文章主題: |
|
|
看 HELP.
更新衝突是必然出現的現象.
只有看你選擇什麼方式處理.
例如,先來的人事先LOCK 記錄,後來的人就不能改.
SQL SERVER 也可以LOCK記錄,只是很少人這樣搞.
或是採取先寫入優先,後面的人只好放棄重做修改.
或是採取後寫入優先,後面的人可以正常存檔,
但先改的人會覺得怎麼不是我改的那樣.
通通都有優缺. _________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
|
kmkna1103
註冊時間: 2008-05-08 文章: 119 來自: 台灣
第 3 樓
|
發表於: 星期五 八月 08, 2014 3:10 pm 文章主題: |
|
|
謝謝提供參考 |
|
回頂端 |
|
|
whh
註冊時間: 2010-04-16 文章: 166
第 4 樓
|
發表於: 星期二 八月 12, 2014 5:45 pm 文章主題: |
|
|
有一個很的方法,開一個 Table → 紀錄目前使用中的電腦名稱
EX: 點修改按鈕 → 立馬寫入那個Table → 有人也突然點那筆要修改的話,就顯示『目前』某某台電腦異動中,不可修改!
存檔後記得要把Table資料砍掉
破關
缺點:一開始那個還在修改的人,還沒存檔就當機就GG了....XD |
|
回頂端 |
|
|
perry
註冊時間: 2014-07-20 文章: 203
第 5 樓
|
發表於: 星期二 八月 12, 2014 11:45 pm 文章主題: |
|
|
參考4樓的做法變通一下試試!!
產生以該筆資料為檔名的Table,
並以專用模式開啟.
要編輯資料先判斷該資料的Table 可不可以專用,
應可避免重疊編輯.
代碼: |
**
IF MY_EXCL('EXEUSNOW.DBF')=1
=MESSAGEBOX('�{式正在執行中,不可重複執行!!',0+16+0,'警告')
retu
ENDI
CREA DBF EXEUSNOW (firstmk C(1))
USE
SELE 0
USE EXEUSNOW EXCL
.
.
use in exeusnow
retu
***********
**MY_EXCL.prg
***********
PARA uchk_file
IF PARA()<1
RETU 2
ENDI
PRIV chk_file,file_chk,old_error
chk_file=uchk_file
file_chk=0
old_error=ON('ERROR')
ON ERRO DO MY_EXCL1
SELE 225
USE (chk_file) EXCL
ON ERRO &old_error
IF USED(225)
USE IN 225
ENDI
RETU file_chk
********************************************************************************
PROC MY_EXCL1
PRIV err_no
file_chk=IIF(ERRO()=41,0,IIF(ERRO()=1,2,1))
RETU
ENDPROC
|
|
|
回頂端 |
|
|
|
|
您 無法 在這個版面發表文章 您 無法 在這個版面回覆文章 您 無法 在這個版面編輯文章 您 無法 在這個版面刪除文章 您 無法 在這個版面進行投票 您 無法 在這個版面附加檔案 您 無法 在這個版面下載檔案
|
|