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

解決済みの質問

レコードセットオブジェクトの閉じ方について

こんにちは。
ASPでのレコードセットオブジェクトの閉じ方について質問です。

レコードセットオブジェクト(以下:rs)を閉じる際に
(1)カッコをつけない場合 → rs.close
(2)カッコをつけた場合  → rs.close()
とで、何か違うのでしょうか?

「On Error Resume Next」をつけていないプログラムでも、どちらも正常に動作します。
普段はカッコを付けずにコーディングしているのですが、たまたまカッコが付いているプログラムを発見したので質問いたしました。

よろしくお願いいたします。

投稿日時 - 2005-11-22 16:42:33

QNo.1794835

暇なときに回答ください

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

ASP で VBscript使用ということでよろしいでしょうか?

結論から言いますとどちらも同じです。

プロシージャやメソッドなどの呼び出し時にカッコは省略できるのが暗黙のルールになっているのでこのようなことができるだけです。
(一部省略してはいけない場合があります。ご注意ください)

Close は引数が必要ない関数なのでわかりにくいですが、

Response.Write "ABC"
Response.Write("ABC")
これも同じ動作をします。
ただし、この場合一般的には
Call Response.Write("ABC")
と記入します。
こうすることにより「Response.Write」というメソッド(またはプロシージャ)を実行していることを「明示的」に表現できるためです。

参考までに「つけなくてはいけない」場合を何点か。。。
1.Function の呼び出しで引数がある場合(無い場合はカッコが無くても良い) → strA = FuncA("ABC")
2.Call による呼び出しで引数がある場合(無い場合はカッコが無くても良い) → Call SubA("XYZ")
などが該当します。
つける・つけないをそのたびに考えていたのではバグの元になりますので、常にカッコを付ける習慣を付けることをお勧めします。

投稿日時 - 2005-12-08 17:21:42

お礼

Response.Write の例題で「なるほど!確かに!」と思いました! とても分かりやすいご説明と例題をありがとうございました!

投稿日時 - 2005-12-11 21:23:23

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

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

回答(1)

あなたにオススメの質問