初心者です。
ASP上のVB SCRIPT記述(result setからcountを取得する方法)が分かりません。

Set rsRet= MyConn.Execute(strSql)
nCltCnt = 0
If Not rsRet Is Nothing Then
nCltCnt = rsRet.Count
End If

という記述をしたのですが、エラーになります。メッセージは以下の通りです。

●エラー タイプ
Microsoft VBScript 実行時エラー (0x800A01B6)
オブジェクトでサポートされていないプロパティまたはメソッドです。: 'Count'
xxx.asp, line 110


サポートされていないのであれば、result setからの件数の取得を教えて下さい。
どなたかアドバイス宜しく願います。

このQ&Aに関連する最新のQ&A

A 回答 (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」でヘルプが見つかると思います。
    • good
    • 0
この回答へのお礼

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

お礼日時:2001/08/27 20:33

データベースとの接続はどのようにしていますか?


ADO?
DAO?

などなど。。。

それによって使えるメソッドも違ってきますよね?
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

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

お礼日時:2001/08/24 18:23

レコードセットオブジェクトが、どれを使っているか分かりませんが、レコードセットは、一度、MoveLastメソッドなどで、一番後ろのレコードまで動かさないと、Countプロパティでレコード数は取れません。



エラーメッセージが、それにあたるかどうかは分かりませんが、どのミドルウェアのレコードセットかを教えていただければ、もう少し詳しくコメントできると思います。

この回答への補足

回答ありがとうございます。下記のようなコーディングにしてみましたが、やっぱり上記と同様のエラーが発生しました。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

補足日時:2001/08/24 13:42
    • good
    • 0

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q[ASP]If~Else If~End If 対 Case

こんにちわ。
ASPでWEBプログラミングをしております者です。
条件分岐の部分なのですが、結構なパターンで分岐させる予定です。

その際、Ifを使うのとCaseで分岐させるのではどちらが良いか?ということです。

サーバの負担の少ないのはどっちなんでしょうか?

どうお考えですか?

Aベストアンサー

条件のパターンと言うか組み合わせにもよりますね。
まぁ、私は2件以上の条件になればSELECT文を使用していますが…

以下簡単に、よく使われるであろうパターンを幾つか記述します。
以下の組み合わせで、大半のものは出来ると思います。多分…

例3や例4で記述している「Select Case True」と言う記述は、
通常の記述とは逆にCaseの条件式がTrueであるかという判定をします。
これは何かと使用に便利なので覚えておくといいかもしれませんね。

参考程度の如何でしょうか。


例1:「Aが1の時or2の時or3の時ならば…」
Select Case A
Case 1
Case 2
Case 3
End Select

例2:「Aが1の時orBが1の時orCが1の時ならば…」
Select Case 1
Case A
Case B
Case C
End Select

例3:「Aが1or2の時またはBが1or2の時ならば」
Select Case True
Case A = 1, A = 2
Case B = 1, B = 2
End Select

例4:「Aが1でさらに、Bが1の時or2の時or3の時ならば」
Select Case True
Case (A = 1) and (B = 1)
Case (A = 1) and (B = 2)
Case (A = 1) and (B = 3)
End Select
と言う風に、毎度(A = 1)を書くのもどうかと思うので
If A = 1 Then
  Select Case B
  Case 1
  Case 2
  Case 3
  End Select
End If
とする方法もありますね。

条件のパターンと言うか組み合わせにもよりますね。
まぁ、私は2件以上の条件になればSELECT文を使用していますが…

以下簡単に、よく使われるであろうパターンを幾つか記述します。
以下の組み合わせで、大半のものは出来ると思います。多分…

例3や例4で記述している「Select Case True」と言う記述は、
通常の記述とは逆にCaseの条件式がTrueであるかという判定をします。
これは何かと使用に便利なので覚えておくといいかもしれませんね。

参考程度の如何でしょうか。


例1:「Aが1の時or2...続きを読む

Q「Microsoft ASP」=「ASP.NET」?

ここのカテゴリの「Microsoft ASP」とは
ASP.NETのことでしょうか?

Aベストアンサー

ASPの人の質問見ると
ASP.NETとプログラムが異なるので
ASP.NET(VB,C#)とASP一緒みたいです。

QASPとASP.NETとASP.NET2.0の違い

Web開発初心者です。

帳票をPDF表示するWebアプリケーションを開発することになり、
言語はASPを使用することになりました。

そこで
ASP
ASP.NET
ASP.NET2.0
の違いをご存知の方がいらっしゃいましたら教えていただけますでしょうか。
それぞれIIS以外に必要な実行環境、ツール等も教えていただけると助かります。

不明瞭な箇所がありましたら説明させていただきます。
すいませんがよろしくお願いします。

Aベストアンサー

ASP用のツールは、多分、無いですね・・・
#メモ帳でASPファイルを作成してサーバにコピーとか。

ASP.NET用の開発ツールは、Microsft社製の「VisualStudio」シリーズがあり、
ASP.NET(1.1)は、「VislaStudio 2003」で、
ASP.NET2.0は、「VislaStudio 2005」で開発できます。


「Visual Web Developer 2005 Express Edition 」は、
「Visual Studio 2005」のEditionの1つで、有料のパッケージ版(入門者つき)と無料のダウンロード版があります。
機能的には同じで、無料版だからといって、商用利用の制限等はありません。

(http://www.microsoft.com/japan/msdn/vstudio/express/faq/default.aspx)

「Express Edition を商用目的で使用することはできますか。」

また、「ASP.NET1.1用」の無料の開発ツールとして、3rdパーティ製ですが、
「Web Matrix 」と言うのがあります。

「ASP.NET Web Matrix Project 日本語版」
(http://www.microsoft.com/japan/msdn/asp.net/webmatrix/)

ASP用のツールは、多分、無いですね・・・
#メモ帳でASPファイルを作成してサーバにコピーとか。

ASP.NET用の開発ツールは、Microsft社製の「VisualStudio」シリーズがあり、
ASP.NET(1.1)は、「VislaStudio 2003」で、
ASP.NET2.0は、「VislaStudio 2005」で開発できます。


「Visual Web Developer 2005 Express Edition 」は、
「Visual Studio 2005」のEditionの1つで、有料のパッケージ版(入門者つき)と無料のダウンロード版があります。
機能的には同じで、無料版だからといって、商用利用...続きを読む

QASP上のVB SCRIPT記述

初心者です。

●Request.Formatで配列が取得できるのがベスト
●MID関数の代替手段(代替ロジック)

下記の処理を行いたいのですが、どうのようにコーディングしていいのか分かりません。VB SCRIPTでは、MID関数がサポートされていないようなのですが、他の代替手段が思い付きません。どなたか宜しくアドバイス願います。

「delObject」はHTML上で一覧表示する為の1カラムで、行単位に配列で値をもってます。Request.Formatでとれればベストなのですが、配列は取得できませんでした。そのかわり、下記コーディングでstrDelCondの中にカンマ(,)区切りで値が取得できたので、それをMID関数で一文字ずつ取得しようとしました。が、MID関数がサポートされていないようで行き詰まってしまってます。宜しくお願いします。


dim strStr
dim strSeq(100)
dim nLen

strDelCond = Request.Form("delObject")
nLen = Len(strDelCond)
ii=0
for i=0 to nLen
strSeq(ii)=""
strStr = Mid(strDelCond,i,1)
if strStr = "," then
ii = ii + 1
else
strSeq(ii) = strSeq(ii) + strStr
strSeq[ii] = strStr
end if
next

初心者です。

●Request.Formatで配列が取得できるのがベスト
●MID関数の代替手段(代替ロジック)

下記の処理を行いたいのですが、どうのようにコーディングしていいのか分かりません。VB SCRIPTでは、MID関数がサポートされていないようなのですが、他の代替手段が思い付きません。どなたか宜しくアドバイス願います。

「delObject」はHTML上で一覧表示する為の1カラムで、行単位に配列で値をもってます。Request.Formatでとれればベストなのですが、配列は取得できませんでした。そのかわり、下記コ...続きを読む

Aベストアンサー

VBScriptでMid関数はサポートされていますよ(参考URL)
ただ、URLクエリーの値をカンマ区切りにした場合

Dim strSeq(100)
For i=1 To Request.Form("delObject").Count
  If UBound(strSeq) >= i Then
    strSeq(i) = Request.Form("delObject")(i)
  Else
    Exit For
  End If
Next

で、strSeq() に代入してあげた方がスマートかな?
私が勘違いしていれば訂正お願いします。

参考URL:http://www.microsoft.com/japan/developer/scripting/default.htm?/japan/developer/scripting/vbscript/doc/vsfctMid.htm

QASP Response.Write("401 Unauthorized")での構文記述方法

ASPで「401 Unauthorized」系のダイアログからの認証処理を作成しています。

サイトでのサンプルを見ているのですが、理解に苦しみます。

Response.Write("401 Unauthorized")
上記の記述で、ダイアログを表示することは分かったのですが、ダイアログの、「ユーザー名」・「パスワード」の値を取得するにはどのように記述すればよいのでしょうか?

ASPは全くの不慣れなので、この他にも質問を投稿しております、ASPなら・・・というお方がおりましたら合わせてご教授お願いいたします。

Aベストアンサー

以下のWebページのBasic認証についての解説が参考になるかと。

ただしここらへん、どうやってプログラミングしたらよいか分からない(あるいは面倒だ)と思ったら、素直にIISの認証メカニズムにまかせてしまったほうが良いでしょう

参考URL:http://www.atmarkit.co.jp/fnetwork/rensai/netpro02/netpro01.html


おすすめ情報