DBEXPRESS のソートについて


みつお  2010-02-03 04:32:32  No: 37396

DbExpressのソートについて質問です。

ORACLE

TSQLConnection

TSQLQuery

TDataSetProvider

TClientDataSet

TDataSource

TDbGrid

の順で接続しているのですが、
TSQLQueryで記述したソートの昇順・降順がTDbGridに、反映されません。
反映されないので、昇順の場合はTClientDataSetのIndexFieldNamesプロパティに指定しています。
DbExpressの降順ソートのしかたを教えてください。
よろしくお願いします。

環境

WindowsnXp Delphi2010 Ent


HOta  2010-02-03 04:54:22  No: 37397

TSQLQueryの記述はどうなっていますか?


みつお  2010-02-03 17:17:30  No: 37398

肝心なことを書き忘れていました....
オラクルの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

よろしくお願いいたします。


igy  2010-02-04 06:23:45  No: 37399

>発行しているSQLは次のものです。

ちなみにこのSQL文は、Delphiでなく、他のツールで実行した場合でも、

>ORDER BY T2.入力日時 DESC

このORDER BYの指定が正しく反映されないのですか?


みつお  2010-02-04 10:21:10  No: 37400

オブジェクトブラウザーで発行した場合は、
昇順・降順どちらもきちんと反映されています。


MASH  2010-02-05 03:50:06  No: 37401

どこかでソートされてしまっているような・・・。

ORACLE

TSQLConnection

TSQLQuery

TDataSource

TDbGrid

にしても結果は同じでしょうか?


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加