請問大大 如何將edit的值丟入query中作判斷!! |
尚未結案
|
suzukiyamaru
一般會員 發表:18 回覆:8 積分:5 註冊:2003-06-09 發送簡訊給我 |
請問一下大大我想把我edit使用者輸入的值丟入query做判斷時該如何寫呢!! 我的程式碼是
procedure TForm1.Button1Click(Sender: TObject);
begin
query1.Close;
query1.SQL.Clear;
query1.SQL.Add('select 廠商名稱 from 平織生產指示單 where 訂單編號="eidt1.text"');
query1.Open;
end;
end. 當我執行時他會跑出這樣的錯誤
project Project.exe raised exception class EDBEngineError with message'General SQL error.[Micorsoft][ODBC Microsoft Access Driver]參數太少, 預期個數1='.Process stopped.Use Step or Run to continue 這樣的錯誤訊息 在問一個問題要是我想把多個欄位所搜尋出的質丟到dbgrid時能在同一個欄位是否如下的SQL語法: query1.SQL.Add('select 織廠,染廠,刷毛廠 as廠商名稱 from 平織生產指示單 where 訂單編號="eidt1.text"'); 請大大幫忙~專題剩這個問題就完成了!!
|
yandav
一般會員 發表:16 回覆:20 積分:7 註冊:2002-10-05 發送簡訊給我 |
|
timhuang
尊榮會員 發表:78 回覆:1815 積分:1608 註冊:2002-07-15 發送簡訊給我 |
除了 yandav兄的建議外, 也可以使用 QuotedStr 這個 function 如: query1.SQL.Add('select 廠商名稱 from 平織生產指示單 where 訂單編號=' QuotedStr(Edit1.Text)); 重點就是要使 SQL.Text 的內容寫為: select 廠商名稱 from 平織生產指示單 where 訂單編號='xxxx' 當然, 若是你的訂單編號是 edit1 中的值, 也就是 edit1.text , 在字串中若要使用單引號, 則必須重覆一次啦, 如同 yandav 兄的做法, 若要省事些, 可以用 QuotedStr function 來包也可以!
|
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
您好! 有蠻多種方法可供選擇使用:
1.在SQL語法中組字串:
Query1.SQL.Add('Select 廠商名稱 From 平織生產指示單 Where 訂單編號='''+Edit1.Text+''''); 2.使用Param提供Edit1.Text資料以供查詢:
Query1.SQL.Add('Select 廠商名稱 From 平織生產指示單 Where 訂單編號=:Orderno');
Query1.ParamByName('Orderno').AsString := Edit1.Text; 關于您的第二個問題, 必須在SQL語法中使用+符號把欄位值加起來才可以:
Query1.SQL.Add('select 織廠+染廠+刷毛廠 as廠商名稱 From 平織生產指示單 where 訂單編號='''+eidt1.text+''''); 參考看看! =====================
努力,相信會獲得美麗!
忻晟 發表人 - cashxin2002 於 2003/11/25 23:52:54
------
忻晟 |
chih
版主 發表:48 回覆:1186 積分:639 註冊:2002-04-02 發送簡訊給我 |
|
Miles
尊榮會員 發表:27 回覆:662 積分:622 註冊:2002-07-12 發送簡訊給我 |
|
suzukiyamaru
一般會員 發表:18 回覆:8 積分:5 註冊:2003-06-09 發送簡訊給我 |
|
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
|
timhuang
尊榮會員 發表:78 回覆:1815 積分:1608 註冊:2002-07-15 發送簡訊給我 |
Hi, 那是不是要這個呢?
query1.Close; query1.SQL.Clear; Query1.SQL.Add('select 織廠 as廠商名稱 From 平織生產指示單 where 訂單編號='''+eidt1.text+''''); Query1.SQL.Add('union select 染廠 as廠商名稱 From 平織生產指示單 where 訂單編號='''+eidt1.text+''''); Query1.SQL.Add('union select 刷毛廠 as廠商名稱 From 平織生產指示單 where 訂單編號='''+eidt1.text+''''); query1.Open;這樣的結果呢? 也就是原來的是 '織A染A刷A' 一筆, 要變為: '織A' '染A '刷A' 三筆...... |
Miles
尊榮會員 發表:27 回覆:662 積分:622 註冊:2002-07-12 發送簡訊給我 |
|
suzukiyamaru
一般會員 發表:18 回覆:8 積分:5 註冊:2003-06-09 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |