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

VFP+SQL 自動更新程式(轉貼)

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



註冊時間: 2003-03-12
文章: 1698
來自: tunglo

第 1 樓

發表發表於: 星期四 十一月 20, 2003 10:40 am    文章主題: VFP+SQL 自動更新程式(轉貼) 引言回覆

**VFP+SQL 自動更新程式
*本系統需要在 SQL端 建立一個表
print ''Create table Vers_cont''
go
--------------------版本控制vers_cont -------------------------
create table vers_cont(
version char(10) default ''3.01'',
exedatetime char(16),
exememo text
)
go
insert into vers_cont values(''3.01'','''','''')
go
print ''Create table Vers_cont OK!''
go
你的VFP主程序根據自己的version 和vers_cont 上的version
判斷是否需要更新
若vfp.version<sql.version程式終止,提示更新程式

*自動更新程式 update.prg
*測試遠端視圖,共用連接,更新
*2002.04.23
** 原型,自己擴沖吧 可以用了
Close all
Clea all
Clea
Set safe off
Set talk off
Set stat off
Set hour to 24
Set date to ansi
Set cent on
=sqld(0)
lcExename=''youexe.exe''
lcNewExename=''yournewexe.exe''
Create data getnew
Open data getnew
Create conn getnewjjyw datasource "youdatasource" userid "id" password "pass"
DBSetProp("getnewjjyw","CONNECTION" ,"DISPLOGIN" ,3) &&發任何時候都不彈出
*新建遠程視圖
Create SQL VIEW vers_remote_view remote CONNECTION getnewjjyw share ;
AS SELECT * FROM vers_cont
DBSetProp(''vers_remote_view'', ''View'', ''ShareConnection'', .T.)
DBSetProp("vers_remote_view.exedatetime", "Field", "KeyField", .T.)
DBSetProp("vers_remote_view.version", "Field", "Updatable", .T.)
DBSetProp("vers_remote_view.exememo", "Field", "Updatable", .T.)
DBSetProp("vers_remote_view", "View", "SendUpdates", .T.)
DBSetProp("vers_remote_view", "View", "WhereType", 3)
*設定更新衝突解決方案為“關鍵字和已更新欄位”
DBSetProp("vers_remote_view", "View", "UpdateType", 1)
Wait wind ''從sql 取數據....'' nowait noclear
Use vers_remote_view in 0
Sele vers_remote_view
CursorSetProp("Buffering", 3, "vers_remote_view")
*設定vers_remote_view的緩衝模式為“開放式行緩衝”。由於這時Visual FoxPro的默認設置,這一句可省略。
?CURSORGETPROP("ConnectHandle", "vers_remote_view")
*List stru
*Inkey(0)
Wait wind ''從sql 取回來的數據....'' nowait noclear
Brow
Wait wind ''更新,請稍候....'' nowait noclear
Repl exedatetime with dtos( fdate(lcExeName) )+ ftime(lcExeName) && ftime(''..\jjyw.exe'')
*****
i=filetostr(lcExeName)
Repl exememo with i
*****
wait wind ''還在本地的更新資料'' nowait
Brow
wait wind ''更新資料到sql'' nowait noclear
If tableupdate(0,.t.,''vers_remote_view'')
=messagebox("OK")
Else
=messagebox("error")
=tablerevert()
Endif
Wait wind ''從 sql 重新取回來的data'' nowait
Requery()
Brow
Wait wind ''從 sql 重新取回來的data ,並還原為新的程式'' nowait
Copy MEMO exememo TO &lcNewExename
*用下面的語句也可以
*i=exememo
*?strtofile(i,lcNewexename)
Dele view vers_remote_view
Dele conn getnewjjyw
Clos data
Dele data getnew
Set safe on
Set talk on
?sqld(0)

_________________
#############################
快樂媽咪系列幸福宅配,喝十全雞湯~原來幸福那麼簡單!!

學會VFP使用者社區的搜尋,Code才會更有趣~
#############################
回頂端
檢視會員個人資料 發送私人訊息
ezpos



註冊時間: 2011-04-20
文章: 323


第 2 樓

發表發表於: 星期三 七月 15, 2015 9:12 am    文章主題: 引言回覆

這個不好...有檔案大小限制
_________________
ezPos收銀機 簡單好用低成本 http://www.ezpos.info
全新美觀的POS收銀機.POS軟硬體耗材.
軟體客制化.網站規劃....能賺錢的都可以找我

http://www.twelife.com 台灣生活網
回頂端
檢視會員個人資料 發送私人訊息 參觀發表人的個人網站
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
1頁(共1頁)

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


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