請問如何從txt檔中抓出 ' 單引號 |
尚未結案
|
gaui
一般會員 ![]() ![]() 發表:25 回覆:36 積分:12 註冊:2004-06-11 發送簡訊給我 |
|
elvis1000
一般會員 ![]() ![]() 發表:6 回覆:50 積分:16 註冊:2004-12-18 發送簡訊給我 |
|
Miles
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:27 回覆:662 積分:622 註冊:2002-07-12 發送簡訊給我 |
Hi gaui 你好:
這是因為單引號會造成SQL解析的誤解, 舉個例子
你要找一個欄位裡面是She's的資料
Select * from Table1 where F1 = 'She's'
這行指令會被翻譯成She是一個完整的字串, 後面的s'當然就錯啦
解決方法有兩種, 一種是在遇到'符號時再加一個, 變成
Select * from Table1 where F1 = 'She''s'
連續兩個'符號會被翻譯成一個, 使用Delphi的函式QuotedStr來解決, 可達到這個目的
Query1.SQL.Add('Select * from Table1 where F1 = ' QuotedStr(Edit1.Text));
另一種解決方式就是將'符號去掉, 那你所存入的資料就都少了'符號, 看你的需求是否符合, 可用StringReplace將字串做替換
Query1.SQL.Text := StringReplace(Query1.SQL.Text, '''', '', [rfReplaceAll]); 我不是高手, 高手是正在銀幕前微笑的人.
------
我不是高手, 高手是正在銀幕前微笑的人. |
gaui
一般會員 ![]() ![]() 發表:25 回覆:36 積分:12 註冊:2004-06-11 發送簡訊給我 |
|
cashxin2002
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
引言: 不好意思! 想再請問一下, 那如果一段文字中, 我除了要避免'之外,還要避免", 要怎麼做了您好﹗ 可寫成組字串的方法﹐讓其SQL自動組合正确的語法﹐如下紅色處﹕ 第一種﹐取用Edit的Text屬性加入到SQL中 ADOQuery1.SQL.Add('Select * From 資料表 Where 欄位名='''+Edit1.Text+''''); 第二種﹐取用字串變數加入到SQL中 ADOQuery1.SQL.Add('Select * From 資料表 Where 欄位名='''+變數+''''); =================================
------
忻晟 |
Miles
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:27 回覆:662 積分:622 註冊:2002-07-12 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |