- PR -

ASPでADODB.Recordset エラー発生

投稿者投稿内容
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2005-09-06 16:19
引用:

まちゃみんさんの書き込み (2005-09-06 13:53) より:

RecordCountプロパティを使用したかったので、Recordsetオブジェクトを使用しています。


あれ? Execute メソッドの戻り値は Recordset じゃなかったでしたっけ?

で、先にも書いたように場所の特定はまだですか?



_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
まちゃみん
会議室デビュー日: 2005/09/06
投稿数: 5
投稿日時: 2005-09-06 16:33
>らいさん

えぇと、言葉で表現するのが難しいのですが、らいさんの指摘にあったobjRS.Open strSQL, objCon, 0, 1 に変えて実行したところ、
DBから値を取得できるようになったのですが、相変わらず、objRS.RecordCountが上手く動作
していません。(-1が返ってきます)
platiniさんの書込みに「RecordCountをサポートしない場合、-1が返ってくる」
とありますが、これはやはりサポートしていないんでしょうか?
まちゃみん
会議室デビュー日: 2005/09/06
投稿数: 5
投稿日時: 2005-09-06 16:54
>じゃんぬねっとさん

お世話になります。
らいさんのご指摘どおりにデバックを行い、エラー箇所、ようやく特定できました。
遅くなりましてすみませんでした。

objRS.Open strSQL, objCon, 3
↑ここは正常にオープンできています。

if objRS.RecordCount > 0 then
↑やはりここでエラーとなっています。

以上、よろしくお願いします。
らい
大ベテラン
会議室デビュー日: 2005/08/02
投稿数: 159
お住まい・勤務地: 東京都と千葉県のさかいめ
投稿日時: 2005-09-07 09:33
引用:

じゃんぬねっとさんの書き込み (2005-09-06 16:19) より:
あれ? Execute メソッドの戻り値は Recordset じゃなかったでしたっけ?


そのはずです。

引用:

まちゃみんさんの書き込み (2005-09-06 16:54) より:
if objRS.RecordCount > 0 then
↑やはりここでエラーとなっています。


どんなエラーが起こっているのか書いてもらえないとわからないです。
とりあえず、Err.Descriptionや、Hex(Err.Number)を取得して調査してみましょう。

あと、逆に本当に「objRS」にRecordsetが入っているかどうかも調べてみましょう。
もしかしたら、入っていないかも。
確認してみるには、
コード:

iCnt = 0
While Not objRS.EOF
  iCnt=iCnt + 1
  objRS.MoveNext
Wend
Response.Write iCnt


とやってみて、0以外の数字が表示されたら、何か入ってる…って、
これは完全にカウントじゃないか!Σ( ̄□ ̄

# かなり時間がたってるので、もしかして解決してるかも。

スキルアップ/キャリアアップ(JOB@IT)