如何把SQL語法用Memo顯示出來? |
尚未結案
|
saningamour
一般會員 發表:18 回覆:17 積分:7 註冊:2003-11-17 發送簡訊給我 |
小弟想請教一下各位前輩
若是有一個固定的SQL語法如
ADODataSet1.CommandText:='SELECT * FROM EMP_NAME WHERE WRITE_TIME=0930507';
這時只要在Memo中寫入
'SELECT * FROM EMP_NAME WHERE WRITE_TIME=0930507
再由程式去讀memo1的內容就可以了
但是,若是改成條件式包括一個變數
如
ADODataSet2.CommandText:=
'SELECT * FROM EMP_NAME WHERE WRITE_TIME=''' ADODataSet1.FieldByName ( 'WRITE_TIME' ).AsString '''';
把Memo寫入
SELECT * FROM EMP_NAME WHERE WRITE_TIME=''' ADODataSet1.FieldByName ( 'WRITE_TIME' ).AsString ''''
再用程式去讀Memo內容
就會出錯
請問Memo的內容該如何正確的寫呢?
|
bigdogchina
版主 發表:238 回覆:523 積分:312 註冊:2003-04-28 發送簡訊給我 |
saningamour大大,您好!
參考下面的這篇看看:
http://delphi.ktop.com.tw/topic.php?TOPIC_ID=47525
借問一下,WRITE_TIME是int型還是char型的呢?看看這樣改如何:
'select * from EMP_NAME where WRITE_TIME=' ADODataSet1.FieldByName('WRITE_TIME').AsInteger; 我也是一知半解,請多多指教!
=============== 人生在勤,不索何获? ===============
------
人生在勤,不索何获? |
Fishman
尊榮會員 發表:120 回覆:1949 積分:2163 註冊:2006-10-28 發送簡訊給我 |
Sorry !! 插一下花 saningamour 你的語法有一點瑕疵,更正如下,並加入將 sql Command 語法填入 Memo
procedure TForm1.Button1Click(Sender: TObject); begin ADODataSet1.Close; ADODataSet1.CommandText := 'SELECT * FROM EMP_NAME WHERE WRITE_TIME = ' '''' ADODataSet1.FieldByName ('WRITE_TIME').AsString ''''; //或是 ADODataSet1.CommandText := 'SELECT * FROM EMP_NAME WHERE WRITE_TIME = ' QuotedStr(ADODataSet1.FieldByName ('WRITE_TIME').AsString); ADODataSet1.Open; Memo1.Lines.Clear; Memo1.Lines.Add(ADODataSet1.CommandText); end;此外,建議先確認 WRITE_TIME 之 DataType,依此來產生適當之 SQL Command ---------------------------------- 小弟才疏學淺,若有謬誤尚請不吝指教 ----------------------------------
------
Fishman |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |