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

請教遠端資料處理的問題

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



註冊時間: 2003-10-27
文章: 30


第 1 樓

發表發表於: 星期三 十二月 10, 2003 10:40 am    文章主題: 請教遠端資料處理的問題 引言回覆

請問在遠端資料庫中,SELECT 是否完全取代 SEEK ?

若不是?在遠端資料庫中,要如何達到以下要求?


現量
編號 XXXX XXXX XXX 數量


1. KEY 完編號或移到該記錄上,立即顯示庫存量及相關資訊。
2. KEY 完數量,現量即被扣除,其他使用者做相同的動作也能正確的即時反應。

謝謝!
回頂端
檢視會員個人資料 發送私人訊息 雅虎訊息通
elleryq



註冊時間: 2007-06-21
文章: 768


第 2 樓

發表發表於: 星期四 十二月 11, 2003 9:13 am    文章主題: 引言回覆

不是

不知道你是用 remote view 或 sqlexec()
但不管你用哪一種
vfp 都會在本地端建立一個 cursor,欄位定義與 select 與你指定的欄位一樣
所以你還是可以 seek

更新的話,就是要看你用 remote view or sqlexec() 了~
remote view 的話,更新是比較方便
sqlexec() 則需要自己組合 update-sql command

位於其他電腦的 user, 在更新時
鷹該在更新前先行使用 oldval() / curval() 函數去檢查後端資料是否與目前本地端的 cursor 一致再進行寫入
要做到立即更新,不太可能,因為正如前面所說, 本地端會建立 cursor.
回頂端
檢視會員個人資料 發送私人訊息 參觀發表人的個人網站
志明



註冊時間: 2003-10-27
文章: 30


第 3 樓

發表發表於: 星期四 十二月 11, 2003 10:21 am    文章主題: 引言回覆

謝謝您的指教!
我目前還沒研究 remote view, 我並非真正 vfp 的使用者,但我是愛用者,目前只是研究測試階段,請各位多多耐心指正(指教) 。
我現在的疑惑是:
遠端資料集的運作,是不是每次使用都要下載一次?還是只作必要的更新?
能不能用 use 開本地 table ,把它變成 cursor ,再設定它的屬性,連上後端資料庫?
回頂端
檢視會員個人資料 發送私人訊息 雅虎訊息通
天文



註冊時間: 2003-12-11
文章: 6


第 4 樓

發表發表於: 星期四 十二月 11, 2003 9:51 pm    文章主題: 引言回覆

我曾經用 remote view ,最初還是很易上手便處理好所要的資料,但當的變 SQL 的 Table 時問題便來了,因為在建立 remote table 時是根據 SQL 上的 table 結構來產生,所以改變了 SQL 上的 table 後我便無法開啟 remote table,害得我要重寫使用 sqlexec(),長遠來說還是用 sqlexec() 比較好一點。
回頂端
檢視會員個人資料 發送私人訊息
elleryq



註冊時間: 2007-06-21
文章: 768


第 5 樓

發表發表於: 星期五 十二月 12, 2003 9:23 am    文章主題: 引言回覆

志明,
記得你對 VB 較熟,簡單對照一下
ADO 是 sql command 向後端要資料,然後放到 recordset, 然後程式對 recordset 做動作, 最後 recordset 再更新後端.
Remote View 一樣,也是 sql command 向後端要資料,然後放到本地端 cursor, 然後程式對 cursor 做動作,最後下 tableupdate() 時, vfp 自動幫你更新後端
spt (sqlexec),則是 sql command 向後端要資料,然後放到本地端 cursor, 程式可以對 cursor 做動作,但是,最後更新的時候,需要自行去處理.
這樣子的一個比較,不知道會不會比較容易讓你了解

remote view 與 spt 各有所長,可以適度混用,來得到最佳效果.

至於天文所說的問題,應該是因為 sql command 都是 select * from table 所產生的,因為要取得所有欄位,而 Remote view 的設定中又需要得知所有欄位,才有辦法利用這些向後端送 update 資料.
所以這個問題只要不用 '*' 即可解決,例如 table 有 3 個欄位,為 fa, fb, fc, 只要將 remote view 的 sql command 設法設置為 select fa, fb, fc from table 即可解決此問題.
回頂端
檢視會員個人資料 發送私人訊息 參觀發表人的個人網站
天文



註冊時間: 2003-12-11
文章: 6


第 6 樓

發表發表於: 星期五 十二月 12, 2003 10:13 am    文章主題: 引言回覆

  我不是使用 sql command 來產生 Remote view 的,而是在資料庫中加入 ' 遠端資料集 ' 的方式,在建立過程中要選擇資料表的欄位,可能就在此時設定了每個欄位的屬性,最差的就是當 SQL 上的資料表更改後便不能開啟這 ' 遠端資料集 ' 來更改,只能重新建立一個新的 ' 遠端資料集 ' 非常麻煩,至於使用 sql command 來產生 Remote view 的方法我也嘗試過,但用 sql command 來產生 Remote view 的 table 又不能用 REQUERY( ) 來對後端服務器更新,而且在經常改變用不同查詢條件的彈性上,沒有使用 SQLEXEC( ) 方便和更大的彈性。  
  請問小弟在 ' 表單 ' 上的問題,你可有方法解決呢?
回頂端
檢視會員個人資料 發送私人訊息
Batman



註冊時間: 2003-11-15
文章: 348


第 7 樓

發表發表於: 星期日 十二月 14, 2003 1:58 am    文章主題: 引言回覆

我是用remote view做新增,修改用途,用spt寫查詢,既可以有remote view的方便,又可有spt查詢彈性,另Sql的新增欄位,應對前端沒什麼影響,Sql的刪除欄位便要小心,應先刪除remote view的輸出欄位先,才可以刪除sql的欄位,那便沒問題了,若新增sql欄位還是有問題,可以試一下在sql新增欄位後,在remote view刪除該新增欄位,然後儲存,跟著才再開remote view將新增欄位加入,然後再儲存.希望有所幫助
回頂端
檢視會員個人資料 發送私人訊息
志明



註冊時間: 2003-10-27
文章: 30


第 8 樓

發表發表於: 星期三 十二月 17, 2003 9:03 am    文章主題: 引言回覆

感謝各位熱指導!
我在 vb 用 adodc 或 adodb 目前是不理會更新問題,用得少,所以沒發現問題。
我還沒有正式使用 vfp,所以想知道過去所遇到的程式需求,在vfp要怎麼做。
我從前在dos 只有share下沒有遠端觀念,寫資料時要先flock ,資料沒有「即時」的問題,例如在keyin出貨單時,使用A者想要知道該產品的現量,在A 讀完資料時,可能有人,把數量更新了,將會造成錯誤。
在sql + vfp 該如何克服?
我想到的就是用sqlexec 作即更新,有其他的方法嗎?

在左邊作一個訂單號碼的list,右邊顯示明細,該如何做較?
我知道的就只有, 當記錄移動時作 sqlexec 更新資料集。
回頂端
檢視會員個人資料 發送私人訊息 雅虎訊息通
elleryq



註冊時間: 2007-06-21
文章: 768


第 9 樓

發表發表於: 星期三 十二月 17, 2003 9:25 am    文章主題: 引言回覆

to 天文:
Remote View 其實裡面就是一個 sql command 啊,我的意思是裡面的 sql command 用的是 select * from xxx.

to 志明:
建議你研讀一下,悲觀鎖定與樂觀鎖定這個部份.
回頂端
檢視會員個人資料 發送私人訊息 參觀發表人的個人網站
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
1頁(共1頁)

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


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