asp.Net使用usingコードブロック摘出

4040 ワード

「ado.net 2.0テクノロジーの内幕
Usingコードブロック内のすべての可能な場所で短期生存オブジェクトを作成することを強くお勧めします.
Usingブロックは、Usingブロック内の波に未処理の異常が発生した場合でも、そのコードブロックの最後にDisposeメソッドが呼び出されることを確実にする.
 
例:

  
    
string strConn, strSQL;
strconn
= @" Data Source=.\SQLExpress; " + " Initial Catalog = Northwind;Integrated Security=True; " ;
strSQL
= " SELECT CustomerID, CompanyName FROM Customers " ;
Using (SqlConnection cn
= new SqlConnection(strConn)) {
Try {
cn.Open();
}
Catch (SqlException ex) {
Consolse.WriteLine(
" Connect attempt failed " );
Consolse.WriteLine(
" {0} " , ex.Message);
return ;
}

Using (SqlCommand cmd
= new SqlCommand(strSQL, cn) {
try {
using (SqlDataReader rdr = cmd.ExecuteReader()) {
while (rdr.Read())
Console.WriteLine(rdr[
" CompanyName " ]);
rdr.Close();
}
}
catch (SqlException ex) {
Console.WriteLine(
" Query failed " );
Console.WriteLine(
" {0} " , ex.Message);
return ;
}
}
cn.Close();
}

"