dポイントプレゼントキャンペーン実施中!

教えてください。
Vbscript初心者です。

SQLでデータを取得した後の構文で以下のような記述があります。

もしレコードが存在しなかった場合に
Response.write(”レコードが存在しません")と表示したいです。

IIf Rs.RecordCount=0 Then
Response.write("レコードが存在しません")
End If

のような書き方をどこかに入れようとしているのですが、以下のようなメッセージが表示されてしまいます。どのように書けば宜しいでしょうか?

ADODB.Field エラー '800a0bcd'
BOF と EOF のいずれかが True になっているか、または現在のレコードが削除されています。要求された操作には、現在のレコードが必要です。

よろしくお願い致します。


****************************
SQL文や接続の記述

<%
Do While not Rs.EOF = True

 Response.Write・・・

  Rs.MoveNext
Loop

Rs.Close
Set Rs = Nothing
Con.Close
Set Con = Nothing
%>

**************************

A 回答 (1件)

Recordsetの中にデータがないのにデータ数をとりだそうとしてエラーになってるんじゃないかな?


データがない、という判定の仕方をもう一度検討してみるのがよいかも。

http://msdn.microsoft.com/ja-jp/library/cc364264 …

「Recordset オブジェクトを開くと、カレント レコードが最初のレコードの位置に移動して、BOF と EOF プロパティの設定値が False になります。レコードが存在しない場合は、BOF プロパティおよび EOF プロパティの設定値が True になります。」

ということなので、BOFもEOFもTrueだったらデータがない、とするのがいいのかな。。。
    • good
    • 1
この回答へのお礼

ありがとうございました。
ご指摘の通りでした。

お礼日時:2013/02/01 20:27

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A