insert 時有特殊字元,要如何處理? |
尚未結案
|
woei
一般會員 ![]() ![]() 發表:6 回覆:8 積分:2 註冊:2002-04-15 發送簡訊給我 |
請問各位高手:
使用Query元件存取MySQL時,若有特殊字元,如'"\/等,
要如何處理呢?
我用
Content='"tes"\t ''test';
content:=StringReplace(content,'''','''''',fReplaceStr);
content:=StringReplace(content,'"','\"',fReplaceStr);
content:=StringReplace(content,'\','\\',fReplaceStr);
sql:='insert into xxxTB set Content=''' content '''';
Query1.SQL.Add(sql);
但會error,要如何處理呢
|
領航天使
站長 ![]() ![]() ![]() ![]() ![]() ![]() 發表:12216 回覆:4186 積分:4084 註冊:2001-07-25 發送簡訊給我 |
引言: 請問各位高手: 使用Query元件存取MySQL時,若有特殊字元,如'"\/等, 要如何處理呢? 我用 Content='"tes"\t ''test'; content:=StringReplace(content,'''','''''',fReplaceStr); content:=StringReplace(content,'"','\"',fReplaceStr); content:=StringReplace(content,'\','\\',fReplaceStr); sql:='insert into xxxTB set Content=''' content ''''; Query1.SQL.Add(sql); 但會error,要如何處理呢沒人回您,我想是不是該用: content:=StringReplace(content,'''','''''',rfReplaceAll); content:=StringReplace(content,'"','\"',rfReplaceAll); content:=StringReplace(content,'\','\\',rfReplaceAll); 有試過嗎? ~~~Delphi K.Top討論區站長~~~
------
~~~Delphi K.Top討論區站長~~~ |
woei
一般會員 ![]() ![]() 發表:6 回覆:8 積分:2 註冊:2002-04-15 發送簡訊給我 |
抱歉,沒有列出全部的碼,我的fReplaceStr已經有rfReplaceAll了
var fReplaceStr:TReplaceFlags;
begin
...........
fReplaceStr:=[rfReplaceAll,rfIgnoreCase];
Content='"tes"\t ''test';
content:=StringReplace(content,'''','''''',fReplaceStr);
content:=StringReplace(content,'"','\"',fReplaceStr);
content:=StringReplace(content,'\','\\',fReplaceStr);
sql:='insert into xxxTB set Content=''' content '''';
Query1.SQL.Add(sql); 應該與您所說的方式一樣吧
可是仍然不行,可是我直接進到mysql中下sql就可以,
我覺得是被delphi擋下來了,不知道是否有什麼解決的方式呢,謝謝
|
天外來客
初階會員 ![]() ![]() 發表:22 回覆:199 積分:44 註冊:2001-11-27 發送簡訊給我 |
|
woei
一般會員 ![]() ![]() 發表:6 回覆:8 積分:2 註冊:2002-04-15 發送簡訊給我 |
|
領航天使
站長 ![]() ![]() ![]() ![]() ![]() ![]() 發表:12216 回覆:4186 積分:4084 註冊:2001-07-25 發送簡訊給我 |
引言: 謝謝您們的答覆 不過,還是不行呢我再幫您試過,用Delphi 5 MY-SQL 3.23 MY-ODBC 可以過喔! 程式如下: procedure TForm1.Button1Click(Sender: TObject); var fReplaceStr:TReplaceFlags; Content,sql:string; begin fReplaceStr:=[rfReplaceAll,rfIgnoreCase]; Content:='"tes"\t ''test'; content:=StringReplace(content,'''','''''',fReplaceStr); content:=StringReplace(content,'"','\"',fReplaceStr); content:=StringReplace(content,'\','\\',fReplaceStr); sql:='insert into xxxTB set Content=''' content ''''; Query1.close; Query1.sql.clear; Query1.SQL.Add(sql); Query1.execsql; end; ~~~Delphi K.Top討論區站長~~~
------
~~~Delphi K.Top討論區站長~~~ |
鈴鐺
初階會員 ![]() ![]() 發表:33 回覆:81 積分:35 註冊:2002-03-13 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |