  | 
				VFP 愛用者社區 本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.   
				 | 
			 
		 
		 
	
		| 上一篇主題 :: 下一篇主題   | 
	 
	
	
		| 發表人 | 
		內容 | 
	 
	
		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 文章: 180
 
  第 2 樓
  | 
		
			
				 發表於: 星期二 十月 27, 2015 8:07 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				| 好複雜啊! 我的spt語法都是直接 update,也沒有問題啊,3行程式就結束了,20年過去了 也沒有問題啊, 1行連接 2行更新 3行斷開也沒有問題啊,50個user寫來寫去也沒有問題啊! 我不懂得用CURSORSETPROP? begin tran/end tran ? 不要把自己弄複雜了 | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		syntech
 
 
  註冊時間: 2003-05-16 文章: 4252 來自: 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. 想學習系統規劃,想找系統架構的顧問
 
 
請聯絡我們,也許我們幫得上忙 | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		200279
 
 
  註冊時間: 2009-11-26 文章: 18
 
  第 4 樓
  | 
		
			
				 發表於: 星期三 十一月 04, 2015 10:07 am    文章主題: spt 更新總算解決 | 
				     | 
			 
			
				
  | 
			 
			
				| 多謝幫忙, 更新總算ok了,問題不是出在語法,是出在 mysql odbc 5.3 版本!(unicode 或 ansi 都不行 ) 換回 5.1 什麼都解決了! 怎麼寫就怎麼過,真是令人太意外, 白白浪費了這麼多時間,什麼方法都試過就是沒有用這方法.好幾次讓我憂鬱症*10倍. 用的好好的為什麼要換5.3 ? 真不知怎麼說起 ........................................ | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		 | 
	 
 
  
  	 
	    
  	   | 
 	
您 無法 在這個版面發表文章 您 無法 在這個版面回覆文章 您 無法 在這個版面編輯文章 您 無法 在這個版面刪除文章 您 無法 在這個版面進行投票 您 無法 在這個版面附加檔案 您 無法 在這個版面下載檔案
  | 
   
  
		 |