全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:859
推到 Plurk!
推到 Facebook!

MSSQL insert record 但ㄧ直回應少ㄧ個字元'

尚未結案
yuan1688
一般會員


發表:11
回覆:11
積分:4
註冊:2005-01-12

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-03-20 07:44:07 IP:59.104.xxx.xxx 未訂閱
我想insertㄧ筆record進資料庫,但都一直被回應少了一個'字元,我找不出有什麼方法,把sqlstr直接用SQL analyzer去執行是ok的,請各位給ㄧ個方向 ADOQuery.Close ; ADOQuery.SQL.Clear ; ADOQuery.ConnectionString := g_connectstring; sqlstr :='insert into errorlog values (''' FormatDateTime('yyyy-mm-dd hh:mm:ss',now) ''',''' s ''' ) '; ADOQuery.SQL.Text := ''; ADOQuery.SQL.Text := sqlstr; ADOQuery.ExecSQL ;
Mickey
版主


發表:77
回覆:1882
積分:1390
註冊:2002-12-11

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-03-20 11:37:53 IP:218.32.xxx.xxx 未訂閱
1. 應該是要 "分鐘" 的 Format String 吧 FormatDateTime('yyyy-mm-dd hh:nn:ss',now) 2. s 的值....不知是... 3. 先 debug sqlstr 的值, 若找不出問題, 再將 sqlstr 貼上來大家看看吧.
timhuang
尊榮會員


發表:78
回覆:1815
積分:1608
註冊:2002-07-15

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-03-20 13:29:07 IP:220.132.xxx.xxx 未訂閱
Hi, 看起 sqlstr 這行沒有什麼問題, 但是 s 的值很有可能內含了 ' 這個符號, 造成 sqlstr 組合完成後有問題, 建議你在 ExecSQL 前, 先將 sqlstr Show 出來或存成檔案, 或設中斷點 debug, 或是利用 sql profiler 也可以, 就是要確認組合的 sqlstr 是正確的. 若是 s 中有 ' 這個符號, 可以利用 StringReplace 將一個 ' 改為兩個 '' 即可, 如: s := StringReplace(s, '''', '''''', [rfReplaceAll]); sqlstr :='insert into errorlog values (''' FormatDateTime('yyyy-mm-dd hh:mm:ss',now) ''',''' s ''' ) '; 或利用 QuotedStr 函數也很方便, 如: sqlstr :='insert into errorlog values (''' FormatDateTime('yyyy-mm-dd hh:mm:ss',now) ''',' QuotedStr(s) ' ) '; 因為 QuotedStr 會在前後加上 ' 以外, 也會將 s 的內容有 ' 的改為 ''. 另外若是內容會有中文的話, 就改用 AnsiQuotedStr 也是一樣的功能, 只是 AnsiQuotedStr 是有 support multi-byte character sets (MBCS)!
yuan1688
一般會員


發表:11
回覆:11
積分:4
註冊:2005-01-12

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-03-20 22:42:46 IP:59.104.xxx.xxx 未訂閱
我的sqlstr的內容經過write to file的結果是.. insert into na_errorlog values ('2005-03-20 22:05:10','<9>kd: 041106105005 SRC=172.16.10.1 DST=59.104.6.252 PROTO=UDP SPT=3279 DPT=5145 14 LEN=193 WAN=1 DIR=out (Mar 20 22:04:31 2005) 結尾都少了') , 旦在watch 裡頭的值是對的...奇怪
系統時間:2024-07-04 15:40:01
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!