こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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

投稿日時 - 2002-11-21 18:47:58

QNo.410179

すぐに回答ほしいです

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

> 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

投稿日時 - 2002-11-22 14:49:08

お礼

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

投稿日時 - 2002-11-25 14:51:01

ANo.2

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

o84

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

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

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

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

投稿日時 - 2002-11-22 02:20:38

補足

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


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

投稿日時 - 2002-11-22 13:01:41

お礼

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

投稿日時 - 2002-11-25 14:51:44

あなたにオススメの質問