請問在ADOQuery中使用引數在SQL內 |
尚未結案
|
erasy
一般會員 發表:13 回覆:16 積分:5 註冊:2004-07-20 發送簡訊給我 |
請問:
因為目前我用ADOQuery來寫SQL內的敘述但只能成功的傳進一個參數,要傳二個參數卻失敗,在DBGrid顯示不出來:
ADOQuery1->Parameters->CreateParameter("chosecon",ftString,pdInput,30,Edit10->Text);
ADOQuery1->SQL->Add("SELECT * FROM Adder WHERE Language_type=:chosecon");
---上面可以成功的在DBGrid中,顯示在EDit所設定的值。
---但是---
ADOQuery1->Parameters->CreateParameter("chosecon",ftString,pdInput,30,Edit10->Text);
ADOQuery1->Parameters->CreateParameter("fieldname",ftString,pdInput,30,Edit11->Text);
ADOQuery1->SQL->Add("SELECT * FROM Adder WHERE :fieldname=:chosecon");
---卻不行,請問是否有違反語法規則 發表人 - erasy 於 2004/07/28 18:26:49 發表人 - erasy 於 2004/07/28 21:37:09
|
bigdogchina
版主 發表:238 回覆:523 積分:312 註冊:2003-04-28 發送簡訊給我 |
Hi,erasy,您好!
不妨看看下面的code,希望能對您解決問題有所幫助,謝謝:
void __fastcall TForm1::Button1Click(TObject *Sender) { AnsiString str1,str2,sSql; str1 = Edit10->Text; str2 = Edit11->Text; sSql = "select * from Table1 where " str1 "='" str2 "'"; ADOQuery1->Close(); ADOQuery1->SQL->Clear(); ADOQuery1->SQL->Text = sSql; ADOQuery1->Open(); }當需要將兩個參數值賦給sql語句時,我們在外面做動作就可以了。請留意一下,where後面要空一格,要不然就和str1連在一起了哦!您也可以結合下面這篇來看看 >人生在勤,不索何獲> <>業精於勤荒於嬉,行成於思毀於隨> <>臨淵羡魚不如退而結網>
------
人生在勤,不索何获? |
erasy
一般會員 發表:13 回覆:16 積分:5 註冊:2004-07-20 發送簡訊給我 |
|
folkchen
高階會員 發表:9 回覆:232 積分:173 註冊:2003-10-09 發送簡訊給我 |
|
erasy
一般會員 發表:13 回覆:16 積分:5 註冊:2004-07-20 發送簡訊給我 |
|
folkchen
高階會員 發表:9 回覆:232 積分:173 註冊:2003-10-09 發送簡訊給我 |
|
erasy
一般會員 發表:13 回覆:16 積分:5 註冊:2004-07-20 發送簡訊給我 |
引言: >>在SQL語言中:chosecon原本應該是要加單引號,可是這邊卻沒有是因為我CreateParameter中變數加了"chosecon"的關係嗎? NO~~ CreateParameter中變數加了 雙引號 是C要知道那裡到那裡是你要輸入的東東 它被丟進去SQL字串中,就會被帶上 單引號 了 >>因為:fieldname應該是不需要單引號。 原因同上 所以 :fieldname 會被帶上單引號,故會被SQL當成字串處理 SO~~ fieldname 要用變數字串去串它請問folkchen,妳的意思是說,把 ADOQuery1->SQL->Add("statement"); statement拿出來用字串的方式處理嗎? |
folkchen
高階會員 發表:9 回覆:232 積分:173 註冊:2003-10-09 發送簡訊給我 |
|
erasy
一般會員 發表:13 回覆:16 積分:5 註冊:2004-07-20 發送簡訊給我 |
|
timhuang
尊榮會員 發表:78 回覆:1815 積分:1608 註冊:2002-07-15 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |