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

ADOQuery1->SQL->Add中變數的指定

答題得分者是:folkchen
leeli
初階會員


發表:57
回覆:55
積分:27
註冊:2003-06-25

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-02-21 09:47:38 IP:61.30.xxx.xxx 未訂閱
Dear大大: 小弟最近在寫一個有關SQL的程式。我有一段程式碼: ADOQuery1->SQL->Add("INSERT INTO GPS VALUES ('01', '0001', '1234', 'test')"); 這樣是新增一筆資料到SQL。如果,現在我把'test'的字串,使用一個變數來儲存,ex: String b="test"; 那小弟我要如何修改ADOQuery1->SQL->Add這邊的語法,讓他可以正確的執行呢? 小弟我是BCB的新手,若有發問一些蠢問題,敬請見諒。 對於各位的大力協助,感激不盡!
------
小弟我是BCB的新手,若有發問一些蠢問題,敬請見諒。
對於各位的大力協助,感激不盡!
folkchen
高階會員


發表:9
回覆:232
積分:173
註冊:2003-10-09

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-02-21 10:11:25 IP:211.20.xxx.xxx 未訂閱
String b="test"; ADOQuery1->SQL->Add("INSERT INTO GPS VALUES ('01', '0001', '1234', '" b "')");
leeli
初階會員


發表:57
回覆:55
積分:27
註冊:2003-06-25

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-02-21 10:37:10 IP:61.30.xxx.xxx 未訂閱
引言: String b="test"; ADOQuery1->SQL->Add("INSERT INTO GPS VALUES ('01', '0001', '1234', '" b "')");
這樣執行會有:String or binary data would be truncated.的錯誤訊息耶~ 小弟我是BCB的新手,若有發問一些蠢問題,敬請見諒。 對於各位的大力協助,感激不盡!
------
小弟我是BCB的新手,若有發問一些蠢問題,敬請見諒。
對於各位的大力協助,感激不盡!
folkchen
高階會員


發表:9
回覆:232
積分:173
註冊:2003-10-09

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-02-21 10:47:30 IP:211.20.xxx.xxx 未訂閱
你試試 AnsiString b="test"; ADOQuery1->SQL->Add("INSERT INTO GPS VALUES ('01', '0001', '1234', '" b "')"); 或 String b="test"; ADOQuery1->SQL->Add("INSERT INTO GPS VALUES ('01', '0001', '1234', '" (AnsiString)b "')"); 因為ADOQuery1->SQL 的 Type 是 AnsiString 前一篇我直接COPY你的文字,所以沒有仔細看 因為發懶,所以沒有寫程式去跑,直接就回覆了 Sorry
leeli
初階會員


發表:57
回覆:55
積分:27
註冊:2003-06-25

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-02-21 11:02:33 IP:61.30.xxx.xxx 未訂閱
引言: 你試試 AnsiString b="test"; ADOQuery1->SQL->Add("INSERT INTO GPS VALUES ('01', '0001', '1234', '" b "')"); 或 String b="test"; ADOQuery1->SQL->Add("INSERT INTO GPS VALUES ('01', '0001', '1234', '" (AnsiString)b "')"); 因為ADOQuery1->SQL 的 Type 是 AnsiString 前一篇我直接COPY你的文字,所以沒有仔細看 因為發懶,所以沒有寫程式去跑,直接就回覆了 Sorry
一樣的錯誤訊息耶~ 小弟我是BCB的新手,若有發問一些蠢問題,敬請見諒。 對於各位的大力協助,感激不盡!
------
小弟我是BCB的新手,若有發問一些蠢問題,敬請見諒。
對於各位的大力協助,感激不盡!
folkchen
高階會員


發表:9
回覆:232
積分:173
註冊:2003-10-09

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-02-21 11:29:34 IP:211.20.xxx.xxx 未訂閱
以上的寫法是改寫你的,我看不出有什麼錯誤,已加了型態轉換了,怎麼還不可呢? 你試試我的平常的習慣寫法看看 AnsiString wSQL; AnsiString wb = "test"; wSQL = (AnsiString)"INSERT INTO GPS VALUES ('01', '0001', '1234', '" wb "')"; ADOQuery1->SQL->Clear(); ADOQuery1->SQL->Add(wSQL); P.S:你要先確定,你原本的程式是可以RUN的,因為我只改寫這一段程式,沒有考慮ADOQuery其他設定,我假設你其他部份都是OK的
leeli
初階會員


發表:57
回覆:55
積分:27
註冊:2003-06-25

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-02-21 11:41:07 IP:61.30.xxx.xxx 未訂閱
引言: 以上的寫法是改寫你的,我看不出有什麼錯誤,已加了型態轉換了,怎麼還不可呢? 你試試我的平常的習慣寫法看看 AnsiString wSQL; AnsiString wb = "test"; wSQL = (AnsiString)"INSERT INTO GPS VALUES ('01', '0001', '1234', '" wb "')"; ADOQuery1->SQL->Clear(); ADOQuery1->SQL->Add(wSQL); P.S:你要先確定,你原本的程式是可以RUN的,因為我只改寫這一段程式,沒有考慮ADOQuery其他設定,我假設你其他部份都是OK的
Sorry,我知道問題出在哪裡了。因為我的SQL的資料長度設定錯誤,輸入的資料長度超過設定的長度,所以一直寫不進入。現在長度重新設定之後,就沒有問題了。感恩~ 小弟我是BCB的新手,若有發問一些蠢問題,敬請見諒。 對於各位的大力協助,感激不盡!
------
小弟我是BCB的新手,若有發問一些蠢問題,敬請見諒。
對於各位的大力協助,感激不盡!
系統時間:2024-04-20 11:01:54
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!