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