VFP 愛用者社區 首頁 VFP 愛用者社區
本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
 
 常見問題常見問題   搜尋搜尋   會員列表會員列表   會員群組會員群組   會員註冊會員註冊 
 個人資料個人資料   登入檢查您的私人訊息登入檢查您的私人訊息   登入登入

請教VFP連接SQL SERVER及多遠程視圖更新!!

 
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區
上一篇主題 :: 下一篇主題  
發表人 內容
raylian



註冊時間: 2006-08-09
文章: 25


第 1 樓

發表發表於: 星期三 一月 10, 2007 10:40 am    文章主題: 請教VFP連接SQL SERVER及多遠程視圖更新!! 引言回覆

請問以下代碼有何不妥的地方 :

1.主程式中使用以下代碼,建立共享連接(使用用戶會有60個左右)
public strsqlcn, cn
StrSqlcn="Driver={SQL Server}; SERVER=192.168.1.1; UID=SA; PWD=123456; DATABASE=DBTMS"
cn=Sqlstringconnect(strSqlcn,.T.)

2.多視圖更新代碼如下(vrespond0,vrespond1為視圖,表緩沖):
LOCAL upd1,upd2,lc1,lc2

lc1=CURSORGETPROP("ConnectHandle","vRespond0")
lc2=CURSORGETPROP("ConnectHandle","vRespond1")
SQLSETPROP(lc1,"Transactions",2)
SQLSETPROP(lc2,"Transactions",2)

upd1 = Tableupdate(0,.F.,'vRespond0')
upd2 = Tableupdate(1,.F.,'vRespond1')

If upd1 And upd2
SQLCOMMIT(cn)
Messagebox("保存成功!!",32,'')
ELSE
SQLROLLBACK(lc1)
SQLROLLBACK(lc2)

Messagebox("保存失敗!!",32,'')
ENDIF

SQLSetprop(lc1,"transactions",1)
SQLSetprop(lc2,"transactions",1)

3.問題點:
當更新視圖出錯時(可調試主鍵值改為一樣),tablerevert后,
不退出當前畫面,再按修改保存(主鍵不重複情況),就會出錯: 更新沖突
如果重新調出資料,再按修改保存,就沒有問題了.
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
garfield
Site Admin


註冊時間: 2003-01-30
文章: 2160


第 2 樓

發表發表於: 星期三 一月 10, 2007 4:13 pm    文章主題: 引言回覆

在 SQLROLLBACK(lc1) 前加上 tablerevert( ) 的命令看看
_________________
利用>>搜尋<<的功能會比問的還要快得到答案.
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
1頁(共1頁)

 
前往:  
無法 在這個版面發表文章
無法 在這個版面回覆文章
無法 在這個版面編輯文章
無法 在這個版面刪除文章
無法 在這個版面進行投票
無法 在這個版面附加檔案
無法 在這個版面下載檔案


Powered by phpBB © 2001, 2005 phpBB Group
正體中文語系由 phpbb-tw 維護製作