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

spt 更新問題

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



註冊時間: 2009-11-26
文章: 18


第 1 樓

發表發表於: 星期二 十月 27, 2015 4:52 pm    文章主題: spt 更新問題 引言回覆

set mult on
store sqlstringconnect("dsn=gsac; userid=test; pwd=1234") to xconnhandle

=SQLEXEC(xconnhandle, 'SELECT * FROM ac00','ac00')

SQLSetProp(xconnhandle,"Transactions",2)
CURSORSETPROP("Tables",'ac00')
CURSORSETPROP("KeyFieldList","ACNAME, ACYEAR, C_PERF, D_PERF, UBNO, TYPENO, XNOTE",'ac00')
CURSORSETPROP("UpdatableFieldList","ACNAME, ACYEAR, C_PERF, D_PERF, SUBNO, TYPENO, XNOTE",'ac00')
CURSORSETPROP("UpdateNameList","acname ac00.ACNAME, acyear ac00.ACYEAR, c_perf ac00.C_PERF, d_perf ac00.D_PERF, subno ac00.SUBNO, typeno ac00.TYPENO, xnote ac00.XNOTE",'ac00')
CURSORSETPROP("SendUpdates" ,.t.,"ac00")
CURSORSETPROP("Buffering", 5 , "ac00" )
CURSORSETPROP("WhereType" ,3,"ac00")


SELECT ac00

GO top
BROWSE

begin tran
result1=SQLCOMMIT(xconnhandle)
IF result1 = -1
SQLROLLBACK(xconnhandle)
Aerror(aer)
=Messagebox(aer[2])
else
=requery()
ENDIF
end tran

sqldisconnect(xconnhandle)

請問, vfp9 在browse 更改的資料為什麼無法更新,也沒有出現錯誤訊息,是哪裡漏了?
多謝了 !
回頂端
檢視會員個人資料 發送私人訊息
yctsai



註冊時間: 2003-04-11
文章: 179


第 2 樓

發表發表於: 星期二 十月 27, 2015 8:07 pm    文章主題: 引言回覆

好複雜啊! 我的spt語法都是直接 update,也沒有問題啊,3行程式就結束了,20年過去了 也沒有問題啊, 1行連接 2行更新 3行斷開也沒有問題啊,50個user寫來寫去也沒有問題啊! 我不懂得用CURSORSETPROP? begin tran/end tran ? 不要把自己弄複雜了
回頂端
檢視會員個人資料 發送私人訊息
syntech



註冊時間: 2003-05-16
文章: 4211
來自: Taipei,Taiwan

第 3 樓

發表發表於: 星期二 十月 27, 2015 10:15 pm    文章主題: 引言回覆

缺了 TABLEUPDATE 吧.


https://msdn.microsoft.com/en-us/library/ms947432.aspx

代碼:

begin tran
SQLSetProp(xconnhandle,"Transactions",2)
&& 要補上這個命令
= tableupdate( 2, .T., ALIAS())               && 請確實檢查TABLEUPDATE的參數
result1=SQLCOMMIT(xconnhandle)
IF result1 = -1
SQLROLLBACK(xconnhandle)
Aerror(aer)
=Messagebox(aer[2])
else   
=requery()
ENDIF
end tran





=====
SQLSetProp(xconnhandle,"Transactions",2)
這句的距離太遠,
後端DB SERVER 容易出問題.

_________________
如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問

請聯絡我們,也許我們幫得上忙
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 AIM Address
200279



註冊時間: 2009-11-26
文章: 18


第 4 樓

發表發表於: 星期三 十一月 04, 2015 10:07 am    文章主題: spt 更新總算解決 引言回覆

多謝幫忙, 更新總算ok了,問題不是出在語法,是出在 mysql odbc 5.3 版本!(unicode 或 ansi 都不行 ) 換回 5.1 什麼都解決了! 怎麼寫就怎麼過,真是令人太意外, 白白浪費了這麼多時間,什麼方法都試過就是沒有用這方法.好幾次讓我憂鬱症*10倍. 用的好好的為什麼要換5.3 ? 真不知怎麼說起 ........................................
回頂端
檢視會員個人資料 發送私人訊息
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
1頁(共1頁)

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


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