- ベストアンサー
VB6でSQLServer2000接続時
レコードセットを取得した際に、時々Recordcountが -1になってしまいます。 レコードが実際には存在するので、このような場合は 仕方がなくEOFまでMoveNextを繰り返して何件あるか 数えるのですが、なぜ-1になるのかご存知の方はおられますでしょうか。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
以前同じ経験をしました。 こちらを参照してください。 http://support.microsoft.com/default.aspx?scid=kb;ja;194973 レコードセットの際、 adOpenStatic を使用して 念のためにMoveLast・MoveFirstを使用してから RecordCountで取得するようにしています。
その他の回答 (1)
- TAK_999
- ベストアンサー率43% (42/96)
回答No.1
「RecordCountは処理した件数だから、何も処理してい ない(レコードセットを取得した直後)状態では-1 になる」と認識しています。 間違っていたらごめんなさい。 レコードセットを取得といっても、全レコードの情報 をメモリに保存するわけではないのでレコード件数は わからないのが本当のところだと思います。 私は件数を知りたい場合は、以下のSQLでレコード数だ けを取得しています。 SELECT COUNT(*) AS RECNUM FROM Table1 Table1のレコード件数をRECNUMに保存します。