• ベストアンサー

ASP レコードセットしたオブジェクトを戻り値に出来ませんか?

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の使用は禁止となっています。

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

  • ベストアンサー
  • tamaCo
  • ベストアンサー率66% (47/71)
回答No.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

soushi_ni
質問者

お礼

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

その他の回答 (1)

  • o84
  • ベストアンサー率31% (128/407)
回答No.1

ちなみに、そのSQL文で、値はちゃんと取れてるのですか? 関数の中に入れないで、ずらずらっと書いた場合には ちゃんとRecordSetは取れているのでしょうか? 話はそれからです。 参照渡しとスコープの問題かなーという気もちょっとしますが、 まずは上記の確認をすることですね。 ----- えー、ASPの本はその辺の本屋に行けば簡単なものから 懇切丁寧なものまで、たくさんあるはずですよ(^^)。

soushi_ni
質問者

お礼

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

soushi_ni
質問者

補足

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

関連するQ&A