我只要取出3筆 Record |
答題得分者是:channel
|
eric039
中階會員 發表:57 回覆:126 積分:51 註冊:2002-11-30 發送簡訊給我 |
要從SQL 資料庫中將資料取出3筆。
我只要符合條件的那1筆及上下2筆。
請問要如何改以下的程式。 qyTemp.Sql.Add('Select * from product');
qyTemp.Sql.Add('Where ProductNo = :pProductNO');
qyTemp.Parameters.ParamByName('pProductNo').Value = 'P00005';
qyTemp.Open; 感謝各位 Eric Lin
------
Eric Lin |
channel
尊榮會員 發表:67 回覆:707 積分:854 註冊:2002-05-02 發送簡訊給我 |
引言: 要從SQL 資料庫中將資料取出3筆。 我只要符合條件的那1筆及上下2筆。 請問要如何改以下的程式。 qyTemp.Sql.Add('Select * from product'); qyTemp.Sql.Add('Where ProductNo = :pProductNO'); qyTemp.Parameters.ParamByName('pProductNo').Value = 'P00005'; qyTemp.Open; 感謝各位qyTemp.Sql.Add('Select p1.* from product p1'); qyTemp.Sql.Add('Where (p1.ProductNo = :pProductNO) or'); qyTemp.Sql.Add('(p1.ProductNo = (Select Max(ProductNo) From product p2 where p2.ProductNo < :pProductNO)) or') qyTemp.Sql.Add('(p1.ProductNo = (Select Min(ProductNo) From product p3 where p3.ProductNo > :pProductNO))') qyTemp.Parameters.ParamByName('pProductNo').Value = 'P00005'; qyTemp.Open; 這樣應該就可以了 ~小弟淺見,參考看看~ 發表人 - channel 於 2003/03/18 15:13:29
------
~小弟淺見,參考看看~ |
Justmade
版主 發表:94 回覆:1934 積分:2030 註冊:2003-03-12 發送簡訊給我 |
好辦法,拍拍手。 只是提醒一點, Query.Params 是笨笨的 一個 Param 不能用在數處要分數個 Params
另外 好像是 qyTemp.Params.ParamByName(... 罷?
TQuery 不需要綠色部份 (但用也沒問題)
TSQLQuery 需要綠色部份 qyTemp.Sql.Add('Select p1.* from product p1');
qyTemp.Sql.Add('Where (p1.ProductNo = :pProductNO) or');
qyTemp.Sql.Add('(p1.ProductNo = (Select Max(ProductNo) From product p2 where p2.ProductNo < :pProductNO1)) or')
qyTemp.Sql.Add('(p1.ProductNo = (Select Min(ProductNo) From product p3 where p3.ProductNo > :pProductNO2))')
qyTemp.Params.ParamByName('pProductNo').Value = 'P00005';
qyTemp.Params.ParamByName('pProductNo1').Value = 'P00005';
qyTemp.Params.ParamByName('pProductNo2').Value = 'P00005';
qyTemp.Open; 發表人 - channel 於 2003/03/18 15:13:29
[/quote]
|
channel
尊榮會員 發表:67 回覆:707 積分:854 註冊:2002-05-02 發送簡訊給我 |
引言: 好辦法,拍拍手。 只是提醒一點, Query.Params 是笨笨的 一個 Param 不能用在數處要分數個 Params 另外 好像是 qyTemp.Params.ParamByName(... 罷? TQuery 不需要綠色部份 (但用也沒問題) TSQLQuery 需要綠色部份 qyTemp.Sql.Add('Select p1.* from product p1'); qyTemp.Sql.Add('Where (p1.ProductNo = :pProductNO) or'); qyTemp.Sql.Add('(p1.ProductNo = (Select Max(ProductNo) From product p2 where p2.ProductNo < :pProductNO1)) or') qyTemp.Sql.Add('(p1.ProductNo = (Select Min(ProductNo) From product p3 where p3.ProductNo > :pProductNO2))') qyTemp.Params.ParamByName('pProductNo').Value = 'P00005'; qyTemp.Params.ParamByName('pProductNo1').Value = 'P00005'; qyTemp.Params.ParamByName('pProductNo2').Value = 'P00005'; qyTemp.Open; 發表人 - channel 於 2003/03/18 15:13:29Justmade兄: 雖然Query.Params笨笨的,但是我測試過,應該用相同的Params應該是沒有問題! ~小弟淺見,參考看看~
------
~小弟淺見,參考看看~ |
Justmade
版主 發表:94 回覆:1934 積分:2030 註冊:2003-03-12 發送簡訊給我 |
|
eric039
中階會員 發表:57 回覆:126 積分:51 註冊:2002-11-30 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |