|
VFP 愛用者社區 本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
|
上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
JOLY
註冊時間: 2003-11-20 文章: 4
第 1 樓
|
發表於: 星期四 十一月 20, 2003 5:05 pm 文章主題: 使用SQLEXEC()出現的問題 |
|
|
下了一段語法
lcSQL="INSERT INTO FSMPIMST VALUES ('"+T1.PI_NO+"','"+T1.ED_NO+"','"+T1.CLASS_NO+"','"+T1.CUST_NO+"','"+T1.PI_SET+"','"+T1.PI_CHK+"','"+T1.PT_NO+"','"+T1.C_PAY_NO+"','"+T1.CURR_NO+"','"+T1.BUY_NO+"',;
'"+T1.PRD_SEN+"',"+STR(T1.PERCENT_P)+T1.SHMRKK+"')"
nCount=SQLExec(gnConnHandle2,lcSQL)
但是T1.SHMRKK的欄位資料=" Q'TY=125", 其中之上引號導致SQLEXEC()執行時被當成一個字串的結束而出現錯誤,
請問是否有其他的替換字可以取代或者有其他解決之道? |
|
回頂端 |
|
|
garfield Site Admin
註冊時間: 2003-01-30 文章: 2157
第 2 樓
|
發表於: 星期四 十一月 20, 2003 5:25 pm 文章主題: |
|
|
試著用[INSERT INTO FSMPIMST VALUES (?T1.PI_NO,?T1.ED_NO...........)]
?後面接著變數名(這個用法我幾天前才會用, 老師沒有教^^) _________________ 利用>>搜尋<<的功能會比問的還要快得到答案. |
|
回頂端 |
|
|
elleryq
註冊時間: 2007-06-21 文章: 768
第 3 樓
|
發表於: 星期五 十一月 21, 2003 8:59 am 文章主題: |
|
|
碰到單引號時
要多加一個單引號才行
所以應該是 Q''TY=125 |
|
回頂端 |
|
|
JOLY
註冊時間: 2003-11-20 文章: 4
第 4 樓
|
發表於: 星期五 十一月 21, 2003 10:01 am 文章主題: |
|
|
"Q'TY =125" 中Q'TY不一定會出現在特定的欄位中,像出現IT'S等字眼時也會出現這個問題,所以很難去設定轉換
1.請問garfiend,如果t1.pi_no,t1.ed_no.....(t1是暫存檔名,pi_no是欄位名稱)也可以用?t1.pi_no的方式嗎
2.若可以,該欄位是數值型態時需轉成文字型態使用嗎
謝謝........ |
|
回頂端 |
|
|
Ruey
註冊時間: 2003-03-12 文章: 1698 來自: tunglo
第 5 樓
|
發表於: 星期五 十一月 21, 2003 10:32 am 文章主題: |
|
|
1.原則上可以,講出來就自行試吧
2.轉換程式如下
local nn,cc,i
cc=""
for i=1 to len(lcsql)
if SUBSTR(lcSQL,n,1)="'"
cc=cc+"''"
else
cc=cc+SUBSTR(lcSQL,n,1)
endif
next _________________ #############################
快樂媽咪系列幸福宅配,喝十全雞湯~原來幸福那麼簡單!!
學會VFP使用者社區的搜尋,Code才會更有趣~
############################# |
|
回頂端 |
|
|
|
|
您 無法 在這個版面發表文章 您 無法 在這個版面回覆文章 您 無法 在這個版面編輯文章 您 無法 在這個版面刪除文章 您 無法 在這個版面進行投票 您 無法 在這個版面附加檔案 您 無法 在這個版面下載檔案
|
|