DbExpressのソートについて質問です。
ORACLE
↓
TSQLConnection
↓
TSQLQuery
↓
TDataSetProvider
↓
TClientDataSet
↓
TDataSource
↓
TDbGrid
の順で接続しているのですが、
TSQLQueryで記述したソートの昇順・降順がTDbGridに、反映されません。
反映されないので、昇順の場合はTClientDataSetのIndexFieldNamesプロパティに指定しています。
DbExpressの降順ソートのしかたを教えてください。
よろしくお願いします。
環境
WindowsnXp Delphi2010 Ent
TSQLQueryの記述はどうなっていますか?
肝心なことを書き忘れていました....
オラクルのROW_NUMBER関数を使用したときにこの現象は発生します。
発行しているSQLは次のものです。
SELECT T1.指示NO,
T1.部品名,
T2.入力者ID,
T2.入力日時
FROM TABLE1 T1,
(SELECT T1.指示NO,
T1.入力者ID,
T1.入力日時,
ROW_NUMBER() OVER(PARTITION BY T1.指示NO ORDER BY T1.入力日時 DESC) AS NO
FROM TABLE2 T1) T2
WHERE T1.指示NO = T2.指示NO(+)
AND 1 = T2.NO(+)
AND T1.完成日 = 20100201
ORDER BY T2.入力日時 DESC
よろしくお願いいたします。
>発行しているSQLは次のものです。
ちなみにこのSQL文は、Delphiでなく、他のツールで実行した場合でも、
>ORDER BY T2.入力日時 DESC
このORDER BYの指定が正しく反映されないのですか?
オブジェクトブラウザーで発行した場合は、
昇順・降順どちらもきちんと反映されています。
どこかでソートされてしまっているような・・・。
ORACLE
↓
TSQLConnection
↓
TSQLQuery
↓
TDataSource
↓
TDbGrid
にしても結果は同じでしょうか?
ツイート | ![]() |