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

Sqlexec()變數使用碰到之問題

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



註冊時間: 2003-09-22
文章: 9


第 1 樓

發表發表於: 星期四 九月 14, 2006 11:05 am    文章主題: Sqlexec()變數使用碰到之問題 引言回覆

SQL建立之檔案型態如下:
cs_no2欄位型態為:char
lines欄位型態為:float
nbc欄位型態為:bit
(一):
aa="A001"
result=Sqlexec(mConn1,"update cust set cs_no2 = '"+aa+"' where cs_no1 = 'BCA001' ")
結果是成功的
(二):
result=Sqlexec(mConn1,"update cust set lines = 500 where cs_no1 = 'BCA001' ")
結果是成功的
bb=1000
result=Sqlexec(mConn1,"update cust set lines = '+bb+' where cs_no1 = 'BCA001' ")
結果SQL之lines欄位值更新不成功,請問bb變數之語法是否有錯誤?
(三):
result=Sqlexec(mConn1,"update cust set nbc = 1 where cs_no1 = 'BCA001' ")
結果是成功的
cc=0
result=Sqlexec(mConn1,"update cust set nbc = '+cc+' where cs_no1 = 'BCA001' ")
結果SQL之nbc欄位值更新不成功,請問cc變數之語法是否有錯誤?
*** (二)及(三)有關使用bb及cc變數時發生的問題,詢問高人指點,不勝感激 ***
回頂端
檢視會員個人資料 發送私人訊息
yctsai



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


第 2 樓

發表發表於: 星期四 九月 14, 2006 11:49 am    文章主題: 引言回覆

result=Sqlexec(mConn1,"update cust set lines =&bb where cs_no1 = 'BCA001' ")
回頂端
檢視會員個人資料 發送私人訊息
lcj0831



註冊時間: 2003-02-22
文章: 21


第 3 樓

發表發表於: 星期四 九月 14, 2006 5:35 pm    文章主題: 引言回覆

bb=1000
result=Sqlexec(mConn1,"update cust set lines = '+bb+' where cs_no1 = 'BCA001' ")
結果SQL之lines欄位值更新不成功,請問bb變數之語法是否有錯誤?
→result=Sqlexec(mConn1,"update cust set lines = "+ALLTRIM(STR(bb))+" where cs_no1 = 'BCA001' ")
你要看傳到SQL 的字串是什麼, 你寫的會傳入 update cust set lines = '+bb+' where cs_no1 = 'BCA001'
而不是 update cust set lines = 1000 where cs_no1 = 'BCA001'

cc=0
result=Sqlexec(mConn1,"update cust set nbc = '+cc+' where cs_no1 = 'BCA001' ")
結果SQL之nbc欄位值更新不成功,請問cc變數之語法是否有錯誤?
→result=Sqlexec(mConn1,"update cust set nbc = "+ALLTRIM(STR(cc))+" where cs_no1 = 'BCA001' ")
你要看傳到SQL 的字串是什麼, 你寫的會傳入 update cust set nbc = '+cc+' where cs_no1 = 'BCA001'
而不是 update cust set nbc = 0 where cs_no1 = 'BCA001'
回頂端
檢視會員個人資料 發送私人訊息
BIN



註冊時間: 2004-07-22
文章: 94
來自: Tainan, Taiwan

第 4 樓

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

把變數前全加上問號比較好處理,
不用再轉變數型態...
代碼:
tno="BCA001"
bb=1000
result=Sqlexec(mConn1,"update cust set lines =?bb where cs_no1 = ?tno ")
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
syntech



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

第 5 樓

發表發表於: 星期四 九月 21, 2006 12:33 pm    文章主題: 引言回覆

sqlexec 的參數,
sqlcommand 的部分是 "字串"型態,

你告訴我
"update cust set nbc = '+cc+' where cs_no1 = 'BCA001' " 這句是什麼字串?
"update cust set lines = '+bb+' where cs_no1 = 'BCA001' " 這句又是什麼字串?

這是最基本的道理了.
cc,bb 都不是 字串型態的變數,
怎麼可以相加.

如果你對什麼樣的變數應該轉成怎樣的字串不熟的話,
以 bin 兄的方法較好.
vfp會自行轉換適當的命令

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

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



註冊時間: 2003-09-22
文章: 9


第 6 樓

發表發表於: 星期二 九月 26, 2006 10:53 pm    文章主題: 引言回覆

謝謝各位寶貴的資料,感恩!
回頂端
檢視會員個人資料 發送私人訊息
angeljack



註冊時間: 2006-09-04
文章: 5


第 7 樓

發表發表於: 星期日 六月 05, 2011 4:13 pm    文章主題: 引言回覆

BIN 寫到:
把變數前全加上問號比較好處理,
不用再轉變數型態...
代碼:
tno="BCA001"
bb=1000
result=Sqlexec(mConn1,"update cust set lines =?bb where cs_no1 = ?tno ")



請問 我用問號型態轉到MYSQL資料庫上後,中文字都變亂碼,但是用
"update cust set lines ='"+bb+"' where cs_no1 = ?tno "引號相加的方式中文字就很正常,也試過用strconv 處理 一樣無效,可以請教各位先進?? 感謝
回頂端
檢視會員個人資料 發送私人訊息
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
1頁(共1頁)

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


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