ADOQuery1->SQL->Add中變數的指定 |
答題得分者是:folkchen
|
leeli
初階會員 發表:57 回覆:55 積分:27 註冊:2003-06-25 發送簡訊給我 |
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 發送簡訊給我 |
|
leeli
初階會員 發表:57 回覆:55 積分:27 註冊:2003-06-25 發送簡訊給我 |
引言: 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 發送簡訊給我 |
你試試 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 發送簡訊給我 |
引言: 你試試 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 發送簡訊給我 |
以上的寫法是改寫你的,我看不出有什麼錯誤,已加了型態轉換了,怎麼還不可呢?
你試試我的平常的習慣寫法看看 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 發送簡訊給我 |
引言: 以上的寫法是改寫你的,我看不出有什麼錯誤,已加了型態轉換了,怎麼還不可呢? 你試試我的平常的習慣寫法看看 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的新手,若有發問一些蠢問題,敬請見諒。 對於各位的大力協助,感激不盡! |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |