• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ASP上のVB SCRIPT記述(result setからcountを取得する方法))

ASP上のVB SCRIPT記述(result setからcountを取得する方法)

このQ&Aのポイント
  • ASP上でVB SCRIPTを使ってresult setからcountを取得する方法について分かりません。エラーメッセージが表示されています。
  • 記述したコードにエラーがあります。オブジェクトでサポートされていないプロパティまたはメソッドです。
  • サポートされていない場合には、代替の方法でresult setから件数を取得する方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • msystem
  • ベストアンサー率42% (79/186)
回答No.3

>現在、ADOを使用してます ADOでは、Countプロパティはありません。RecordCountプロパティを使用します。  nCltCnt=rsRet.RecordCount ですが、ADOのマニュアルを見ると、「前方スクロールカーソル」ではレコード数が取れないこと、「プロバイダやカーソルタイプ」によってはサポートしないことが明記されています。ですので、  Set rsRet=MyConn.Execute(strSql) では、前方スクロールとなるため、取得できません。 ですので、レコードセットのOpenメソッドを使い、前方スクロールカーソルでないタイプを選ぶことと、OLE DBプロバイダがRecordCountプロパティをサポートするかどうかを調べてください。 ちなみに、私はDBがOracleだったので、oo4oを使い、GetRowsメソッドを使い、配列の大きさを見て、レコード数を数えました。 >ミドルウェアって、compatible; MSIE 5.01; Windows NT) ということで宜しいんでしょうか? ミドルウェアとは、まさに、ADO、DAO、RDO、oo4oのことをさしています。 >将来的にはRDOに変更する 余計なことかもしれませんが、RDOは将来性がないと思います。ADOでもODBCが使えますので、ADOのままにされることをお勧めします。 >各々で使用可能なメソッド ADOは、ADOがインストールしてあるコンピュータで「ADO*.chm」で検索してもらえば、ヘルプファイルが見つかると思います。 RDOは、ヘルプファイル自身が、情報が少ないので、MSDNをお勧めします。 DAOは、同じく「DAO*.chm」または「DAO*.hlp」でヘルプが見つかると思います。

mtoyo88
質問者

お礼

ありがとうございます。やっと意味が分かった気がします。 助かりました。

その他の回答 (2)

  • yoshisuke
  • ベストアンサー率65% (19/29)
回答No.2

データベースとの接続はどのようにしていますか? ADO? DAO? などなど。。。 それによって使えるメソッドも違ってきますよね?

mtoyo88
質問者

お礼

回答ありがとうございます。 現在、ADOを使用してます。ただ将来的にはRDOに変更する可能性がありますので、できれば各々で使用可能なメソッドを教えて頂けると助かります。

  • msystem
  • ベストアンサー率42% (79/186)
回答No.1

レコードセットオブジェクトが、どれを使っているか分かりませんが、レコードセットは、一度、MoveLastメソッドなどで、一番後ろのレコードまで動かさないと、Countプロパティでレコード数は取れません。 エラーメッセージが、それにあたるかどうかは分かりませんが、どのミドルウェアのレコードセットかを教えていただければ、もう少し詳しくコメントできると思います。

mtoyo88
質問者

補足

回答ありがとうございます。下記のようなコーディングにしてみましたが、やっぱり上記と同様のエラーが発生しました。MoveLastは、サポートされていないというエラーが出ました。ミドルウェアって、compatible; MSIE 5.01; Windows NT) ということで宜しいんでしょうか? rsRet.moveFirst While Not rsRet.EOF rsRet.moveNext Wend ' rsRet.moveLast rsRet.moveFirst nCltCnt = 0 If Not rsRet Is Nothing Then nCltCnt = rsRet.Count End If

関連するQ&A