- 締切済み
Classic ASP で切断されたレコードセットを使う
http://www.4guysfromrolla.com/webtech/080101-1.shtml 上記のサイトを参考に切断されたレコードセットを利用しようといたしましたが、 ADODB.Recordset エラー '800a0e78' オブジェクトが閉じている場合は、操作は許可されません。 とエラーが発生してしまいます。 レコードセットを取得してくるFunctionの中の、上記サイトでいうoRS.Closeの部分をコメントアウトするとコードは通ります。 いったい何が問題なのでしょうか?上記記事が古いのでもうこの方法は使えないということなのでしょうか。 ご教示のほどよろしくお願い申し上げます。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
noname#158371
回答No.3
noname#158371
回答No.2
noname#158371
回答No.1
お礼
失礼いたしました。ご提示いただいたサンプルで解決いたしました。 改めてお礼申し上げます。ありがとうございます。 > その某所(フォーラムか掲示板だと思いますが)ですが、差し支えなかったらURLを教えて頂けますか? > yyyy5555さんが勘違いして捕らえてしまったのか、回答者が間違った情報を提供している可能性があります。 前述の某所というのは2chの<%= ASP総合 %> Part.4というスレッドで、 今は落ちてしまっていると思いますので、そのやりとりを下記に掲載いたします。 971 名前:nobodyさん[sage] 投稿日:2008/06/23(月) 18:20:11 ID:??? 質問させてください。 DBへアクセスする関数を切り出したいのですが、 1.DBへの接続・切断は1回だけ Set ObjConn = Server.CreateObject("ADODB.Connection") ObjConn.open XXX GetData() InsertData() ・・・ ObjConn.Close Set ObjConn = Nothing 2.DBへの接続・切断は関数毎 GetData() InsertData() ・・・ Function GetData() Set ObjConn = Server.CreateObject("ADODB.Connection") ObjConn.open XXX Set ObjRS = Server.CreateObject("ADODB.Recordset") ObjRS.Open StrSQL, ObjConn,3,3 GetData = ObjRS.GetRows ObjRS.Close Set ObjRS = Nothing ObjConn.Close Set ObjConn = Nothing End Function どちらが正しいのでしょうか。 2の方が関数の切り分けとしては良い気がするのですが、 関数毎に接続・切断するのは負荷が高いような…。 972 名前:nobodyさん[sage] 投稿日:2008/06/24(火) 02:52:35 ID:??? >>971 処理ごとに関数を分ける → 将来どういう呼ばれ方をするかわからない ってことで関数の中で接続から切断までやったほうが良いと思うよ。 どうせIISがコネクションをプールしてるから、それほど負荷は高くない。