asp.Net使用usingコードブロック摘出
4040 ワード
「ado.net 2.0テクノロジーの内幕
Usingコードブロック内のすべての可能な場所で短期生存オブジェクトを作成することを強くお勧めします.
Usingブロックは、Usingブロック内の波に未処理の異常が発生した場合でも、そのコードブロックの最後にDisposeメソッドが呼び出されることを確実にする.
例:
"
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();
}
"