-3
//do i need to do this?
using (SqlConnection connection = new SqlConnection(connectionString))
    {
        connection.Open();
        ....
    } //connection disposed

または、単にcloseを使用すると、接続が開いたり閉じたりしますか?

using (SqlConnection connection = new SqlConnection(connectionString))
    {// connection opened
        ....
    } //connection disposed
4

1 に答える 1

2

はい、使用する場合は開く必要があります。

コンストラクターは、単に新しいオブジェクトを作成し、接続文字列に基づいていくつかのプロパティを設定します(または、接続文字列で指定されていない場合はデフォルトになります)。それusing自体はオブジェクトに対して特別なことは何もしません。そのブロックの期間中、接続を作成している間、新しいブロックを開始するだけです。

また、クローズします(closeはこれらをロールバックすると思うので、未処理のトランザクションを明示的にコミットした後)。

また、ガベージコレクターがファイナライズするのを待つ必要がないように、廃棄します(特定のリソースは廃棄されるまで保持されます)。

于 2012-10-25T04:28:50.757 に答える