線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1168
推到 Plurk!
推到 Facebook!

請問order by 的用法

尚未結案
pika2005
初階會員


發表:27
回覆:48
積分:25
註冊:2005-02-17

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-03-01 21:10:04 IP:218.162.xxx.xxx 未訂閱
小弟想達到的效果是在DBGrid上變更資料時,而在按DBGrid上的Title,然後對DBGrid上所顯示的資料作排序..請問有這種語法.. 以下我所用的方法,是開一個Table再排序..而那Table也不是有變動過資料的.. 我想改成對目前DBGrid連結的DataSource作排序,也就是Query.. Query1->SQL->Add("select * from Table order by " STR " " "ASC"); 不知道有沒有像("目前Query的資料 order by " STR " " "ASC");這種寫法 ..
allenchan
資深會員


發表:10
回覆:306
積分:283
註冊:2004-01-06

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-03-01 23:58:43 IP:61.62.xxx.xxx 未訂閱
在畫面上拉一個 ADOQuery,然後撰寫如下的code: ADOQuery1->SQL->Add("select * from Table"); ADOQuery1->Open(); ................ ADOQuery1->Sort = STR " ASC"; or ADOQuery1->Sort = STR " DESC";
pika2005
初階會員


發表:27
回覆:48
積分:25
註冊:2005-02-17

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-03-02 02:02:47 IP:218.162.xxx.xxx 未訂閱
引言: 在畫面上拉一個 ADOQuery,然後撰寫如下的code: ADOQuery1->SQL->Add("select * from Table"); ADOQuery1->Open(); ................ ADOQuery1->Sort = STR " ASC"; or ADOQuery1->Sort = STR " DESC";
allenchan你好,你的方法符合我的需求,可是我所用的元件是Query.. 沒有Sort..所有我才想用SQL語法完成..如果不行的話,我再考慮把 Query改成ADOQuery..
timhuang
尊榮會員


發表:78
回覆:1815
積分:1608
註冊:2002-07-15

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-03-13 18:04:31 IP:220.132.xxx.xxx 未訂閱
Hi, 那就得看你的資料庫有沒有支援 sub query 的功能了, 一般會這樣再下一次, 如原來的 TQuery 內容為 select a.f1, b.f2 from tablea a, tableb b where a.f3=b.f3 然後要改為有排序的話, 就直接外包一層 select 指令, 並將要排序的欄位下達, 如 select * from (select a.f1, b.f2 from tablea a, tableb b where a.f3=b.f3) order by f2 用這種方式也可以, 不過要注意, 這還是對資料庫重新下達 sql command, 要注意效能上是否能符合!
pika2005
初階會員


發表:27
回覆:48
積分:25
註冊:2005-02-17

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-03-13 20:09:34 IP:218.162.xxx.xxx 未訂閱
引言: Hi, 那就得看你的資料庫有沒有支援 sub query 的功能了, 一般會這樣再下一次, 如原來的 TQuery 內容為 select a.f1, b.f2 from tablea a, tableb b where a.f3=b.f3 然後要改為有排序的話, 就直接外包一層 select 指令, 並將要排序的欄位下達, 如 select * from (select a.f1, b.f2 from tablea a, tableb b where a.f3=b.f3) order by f2 用這種方式也可以, 不過要注意, 這還是對資料庫重新下達 sql command, 要注意效能上是否能符合!
timhuang您好,看你所說的語法,應該是可行的, 但我試了不順利,訊息是語法錯誤,而我沒有用Where,不知道有沒有差, 我是要在DBGrid上,按標題後,會排序...所以才要對目前的Query所排序.. ,而我的資料庫是Paradox,還有怕我會錯你程式之意,附上我變動的程式碼.. 程式碼如下: STR = Column->FieldName; // 在DBGrid上所點的標題 ComboBox1->Text // 所選檔名 "Select * from(Select * from " ComboBox1->Text ") order by " STR " " "DESC"; 請問紅色那部分是指目前在Query的資料的吧..
timhuang
尊榮會員


發表:78
回覆:1815
積分:1608
註冊:2002-07-15

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-03-13 22:00:17 IP:220.132.xxx.xxx 未訂閱
Hi, 我查了一下資料 paradox 雖然支援 subquery, 但是比較麻煩, 詳情請看一下這篇: http://www.thedbcommunity.com/index.php?option=com_content&task=view&id=229&Itemid=46 沒辦法在一個 sql command 完成這件事.
系統時間:2024-08-09 17:58:50
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!