는 I는이 코드 집합 다음 한 :중첩 된 "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#에서 여전히 완전히 새롭고/멍청한 사람이기 때문에 여기서 가장 안전하고 안전한 방법을 찾고 있습니다. 감사.
dispose (using) 암시 적으로 close를 호출하므로 연결을 닫을 필요가 없습니다. –
@Tim Schmelter : 그 맛있는 음식에 감사드립니다. 나는 그랬다고 확신 했었지만, 나는 안심할 것만 같았습니다. 하지만, 필자는 또한 오픈 -> 읽기 <- 닫기보다 더 명확하게 이해하지 못하기 때문에 그것을 쓰는 것에 대한 묘사와 비슷합니다. 그것을 떠날 때 발생할 수있는 문제가 있습니까? – Kittoes0124
@Kittoes - 아니, 문제 없음. 당신은 또한'cmd.ExecuteReader (CommandBehavior.CloseConnection)'을 할 수 있으며 연결을 닫을 것입니다. –