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

关于VFP9(SP1)的CA之RecordRefresh()用法的疑问

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



註冊時間: 2007-04-10
文章: 3


第 1 樓

發表發表於: 星期二 四月 10, 2007 2:44 pm    文章主題: 关于VFP9(SP1)的CA之RecordRefresh()用法的疑问 引言回覆

请教各位大大,为何同一Table同一笔Data两个不同的CA编辑时,一个已Update Post入SQL Server,而另一个CA用RecordRefresh(1)在此记录上居然取不回Updated后的资料,而用CursorRefresh()则可以完全没有问题,可保持资料一致.
通过SQL Profiler查看SQL语句,也是没有问题的,先有中一个CA进行Update,然后再有另一个CA的Select命令,非常奇怪?
另外,针对同一Table同一Data两个User以上同时修改的情况,在VFP9(SP1)+SQL Server2000这样的C/S环境下各位有什么好的建议,如何锁定?在不作中间层的情况下如何非常好的控制 ?

Question Question

非常感谢各位前辈!!!
回頂端
檢視會員個人資料 發送私人訊息
wagerlan



註冊時間: 2007-04-10
文章: 3


第 2 樓

發表發表於: 星期三 四月 11, 2007 9:57 am    文章主題: 引言回覆

可能我没有说清楚,是这样的,用RecordRefresh刷一个已经更改(包括直接SQL Update)的Table的最新记录数据,并不会更改当前Cursor的数据,但是非常奇怪的事情是,经过RecordRefresh刷过之后,在SQL WhereType如果有包括Modifed的Column,Update时却并不会报错,也就是说经过RecordRefresh取得的Ado的Dataset是最新的数据,但是Cursor却并没有更新,后上MSDN查过函数的相关备注,有以下提示

The tables or cursors must be opened exclusively.

The refresh operation is not supported buffered inserts, which are simply ignored, and no error is generated. If a target record has buffered table or record changes, those changes are preserved, and the current field values are refreshed.

各位大大能帮忙看看是什么意思吗?与我这个问题相关吗?

谢谢!
回頂端
檢視會員個人資料 發送私人訊息
Abel



註冊時間: 2005-03-14
文章: 189
來自: 鹿港小鎮

第 3 樓

發表發表於: 星期五 四月 13, 2007 1:03 pm    文章主題: 引言回覆

我的 ca 是利用 Data Envirenment 的 Builder 建立的

in the form 我使用如下,便可立即刷新資料

Thisform.DataEnvironment.ca_XXX.CursorRefresh()

ca_XXX 為您的 ca name
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
1頁(共1頁)

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


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