但是,在運行代碼分析器之後,我發現OracleParameter還實現了IDisposable,現在我已經在USING語句中包裝了OracleConnection和OracleCommand對象。以下代碼是否正確?有更好的可讀性或結構技術嗎?乍一看,它似乎與USING陳述混雜在一起:C#IDisposable使用方法:最佳實踐
using (OracleConnection conn = new OracleConnection(connectionstring))
{
conn.Open();
using (OracleCommand cmd = new OracleCommand(sql, conn))
{
cmd.BindByName = true;
using (OracleParameter param1 = new OracleParameter("p1", OracleDbType.Int32, System.Data.ParameterDirection.Input))
{
param1.Value = int.Parse(value1);
cmd.Parameters.Add(param1);
}
using (OracleParameter param2 = new OracleParameter("p2", OracleDbType.Varchar2, System.Data.ParameterDirection.Input))
{
param2.Value = value2;
cmd.Parameters.Add(param2);
}
using (OracleDataReader dr = cmd.ExecuteReader())
{
// loop data here...
}
}
}
雖然有很多相似的答案,但我很欣賞你提供了例子和評論。 – Shawn
謝謝!很高興我能幫上忙。 :-) –