プロが教えるわが家の防犯対策術!

ASPは本当にドキュメントが少なく困っています。



---Main.asp----------------------------------

Dim RetRec

'DB接続
Call DBOpen()

'SQL文
strSQL = "SELECT・・・・"

'レコードオープン実行
Set RetRec = RecOpen(strSQL)

'レコードカウント取得
RecCnt = RetRet.RecordCount
 ・
 ・
 ・
--DBCon.asp--------------------------
Public Function RecOpen(SQLPrm)

'オブジェクト宣言
Set G_RecMap = Server.CreateObject("ADODB.Recordset")

'レコードオープン
G_RecMap.Open SQLPrm, G_Conn, 3, 3, 1

'復帰値作成
RecOpen = G_RecMap

Exit Function

End Function
-----------------------------------------
エラー内容
オブジェクトでサポートされていないプロパティまたはメソッドです。: 'RecordCount'

・・・当然のことながら、復帰値をオブジェクトとして
拾っていないので、上記エラーが表示された。
-------------------------------------------


上記のようにレコードセットしたオブジェクトは返せますでしょうか?同じ要領で行うと上手く行かないのですが。。。お手数ですが、よろしくお願いします

Sessionの使用は禁止となっています。

A 回答 (2件)

> ASPは本当にドキュメントが少なく困っています。


そうかなぁ…。MSサイトのMSDN Libraryに大抵の事は載ってますよ。
個人のサイトもたくさんあるし。。。

これでは如何でしょうか?(インデントのため全角スペース使用)

Public Function RecOpen(SQLPrm)

 Set G_RecMap = Server.CreateObject("ADODB.Recordset")
 G_RecMap.Open SQLPrm, G_Conn, 3, 3, 1

 Set RecOpen = G_RecMap ' ** ← ここ直しました

End Function

ところで上記関数にConnectionをCreateしている箇所がないのですが
それはいいのかな?

見当違いならごめんなさいませ。頑張ってくださいm(_ _)m
    • good
    • 0
この回答へのお礼

ありがとうございます。この内容についてさらにご質問がございます。よろしければご協力いただけませんでしょうか?ここでの質問は内容は理解できましたので、しみきりさせていただきます。

お礼日時:2002/11/25 14:51

ちなみに、そのSQL文で、値はちゃんと取れてるのですか?



関数の中に入れないで、ずらずらっと書いた場合には
ちゃんとRecordSetは取れているのでしょうか?

話はそれからです。
参照渡しとスコープの問題かなーという気もちょっとしますが、
まずは上記の確認をすることですね。

-----
えー、ASPの本はその辺の本屋に行けば簡単なものから
懇切丁寧なものまで、たくさんあるはずですよ(^^)。

この回答への補足

>ちなみに、そのSQL文で、値はちゃんと取れてるのですか?
 はい、確認は取れています。


>関数の中に入れないで、ずらずらっと書いた場合には
>ちゃんとRecordSetは取れているのでしょうか?
RecOpen(strSQL)関数内のレコードセットのオブジェクト
をSession渡しした場合、Recordcountは取れました。
[Set Session("gRec") = Server.CreateObject("ADODB.Recordset")]

補足日時:2002/11/22 13:01
    • good
    • 0
この回答へのお礼

ありがとうございます。本を購入し、まずは皆様にご迷惑をかけないように致します

お礼日時:2002/11/25 14:51

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

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