SQLを使用し、DBGridに件数制限をかけるには?


ネコネコ  2009-02-13 00:09:12  No: 33335

照会機能で、SQLコンポーネントを使用しDBGridに該当データを表示させております。そこに、件数制限を持たせたいのですが、
現状、以下の通り、
SELECT フィールド名… FROM ファイル名 〜 FETCH FIRST 件数 ROWS ONLYと記述しております。
上記で問題ないのですが、件数制限に引っかかった場合(件数以上のレコードが存在する)は、アラームメッセージを表示させようと考えております。
そこで、SQLコンポーネント.RecordCountで何件該当したかで判断しようとしたのですが、RecordCountが上手く使用できません。
そこで、SELECT フィールド名、COUNT(*) AS 〜 の様にしようとしたのですが、これも文法エラーで無理でした。よって、上記の表示するSQLとは別に
件数をカウントするSQLを別途作成すれば問題ないのですが、
パフォーマンスを考慮し、これは避けたいのが本音です。
SQL発行を一回で、DBGridに表示かつ件数をカウントする方法はありますでしょうか?


noukoshi802  2009-02-13 05:30:23  No: 33336

データベースの種類が書かれていないので
判らないのですが
Oracleなら RowCount
MS-SQLなら TOP 関数がWhere句で使用出来ます


ネコネコ  2009-02-13 19:17:39  No: 33337

DBの種類は、DB2になります。


HOta  2009-02-13 23:07:53  No: 33338

TDBGridは、データセットの中身を表示するものですので、制限するなら、取り出す場合に制限するのが基本です。
RowCountは無いのが基本的ですが、種類によります。
件数をカウントするのが基本でしょう。


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

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






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