線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1091
推到 Plurk!
推到 Facebook!

請問如何從txt檔中抓出 ' 單引號

尚未結案
gaui
一般會員


發表:25
回覆:36
積分:12
註冊:2004-06-11

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-12-21 17:12:25 IP:61.59.xxx.xxx 未訂閱
Mon 2004-11-01 00:01:04: > Message subject: Get Your Meds, without any ~Waiting Li'nes ! 我要將一個txt檔寫入資料庫中, 如在一段文字中,有一個單引號, 寫入時會發生錯誤, 請問:我要如何將 ' 單引號截掉, 以避免錯誤。
elvis1000
一般會員


發表:6
回覆:50
積分:16
註冊:2004-12-18

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-12-21 17:31:26 IP:220.134.xxx.xxx 未訂閱
如果只是要把'放進字串,你可以用''代表 Ex: s:=''''; --> ShowMessage(s) 可見到' 中間的''就是' ----------------------- God bless you! I am Dark_Angel.
------
-----------------------
God bless you!
I am Dark_Angel.
Miles
尊榮會員


發表:27
回覆:662
積分:622
註冊:2002-07-12

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-12-21 18:16:43 IP:220.135.xxx.xxx 未訂閱
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

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-12-22 14:35:02 IP:61.59.xxx.xxx 未訂閱
不好意思! 想再請問一下, 那如果一段文字中, 我除了要避免'之外,還要避免", 要怎麼做了
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-12-22 16:36:24 IP:202.62.xxx.xxx 未訂閱
引言: 不好意思! 想再請問一下, 那如果一段文字中, 我除了要避免'之外,還要避免", 要怎麼做了
您好﹗ 可寫成組字串的方法﹐讓其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

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-12-22 19:42:57 IP:220.135.xxx.xxx 未訂閱
Hi gaui 你好: 我上面寫的第一種方式可防,  第二種方式 Query1.SQL.Text := StringReplace(Query1.SQL.Text, '"', '', [rfReplaceAll]); 我不是高手, 高手是正在銀幕前微笑的人.
------


我不是高手, 高手是正在銀幕前微笑的人.
系統時間:2024-06-29 16:07:18
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!