私は、次のコードのセットを持っている:ネストされた "using"ステートメントの適切な形式は?
using (OracleConnection conn = new OracleConnection(m_fceConn))
{
conn.Open();
using (OracleCommand cmd = new OracleCommand(m_sql, conn))
{
using (OracleDataReader reader = cmd.ExecuteReader())
{
reader.Read();
}
}
conn.Close();
}
はこれをフォーマットする良い方法はありますか?確かに、後で私はおそらく、接続を開いたり、クエリを実行したり、後で別の関数に接続を終了したりすることになるだろうが、このネストはまだ "舞台裏"にある。
私はそうのようなものをフォーマットすることができ、別のスレッドで読む:
using (OracleConnection conn = new OracleConnection(m_fceConn))
using (OracleCommand cmd = new OracleCommand(m_sql, conn))
しかし、私は、私はそのようなブラケットを省略することができると信じていないこれらのステートメントのそれぞれの間にコードを持っていることを考慮。私はまだC#のまだ全く新しい/ noobだから私は最高/最も安全なプラクティスを探しています。ありがとう。
dispose(using)は暗黙的にcloseを呼び出すため、接続を閉じる必要はありません。 –
@Tim Schmelter:そのおかげでありがとう。私はそれが本当に確信していたが、私はむしろ安全だと思った。しかし、私は、Open-> Read < - Closeよりも明確にならないので、書き出すことの説明のようなものでもあります。それを残して起こりうる問題はありますか? – Kittoes0124
@Kittoes - いいえ、問題ありません。また、 'cmd.ExecuteReader(CommandBehavior.CloseConnection)'を実行することもできます。これにより、接続も終了します。 –