을 사용하여을 사용하여 내 DBCommand를 래핑하는 경우 다음 ado.net 코드가 있습니다. 아래 연결을 명시 적으로 닫아야합니까?dbCommand.Close()도 연결을 닫으시겠습니까?
감사합니다,
public static void ExecuteSQL(int Id)
{
Database db;
const string sqlCommand = "Stored Procedure Name";
try
{
db = DatabaseFactory.CreateDatabase();
using (DbCommand dbCommand = db.GetStoredProcCommand(sqlCommand))
{
db.AddInParameter(dbCommand, "p_Id", DbType.Int32, Id);
db.ExecuteNonQuery(dbCommand);
**//do I have to close connection explicitely here??**
if (dbCommand.Connection.State != ConnectionState.Closed)
{
dbCommand.Connection.Close();
}
dbCommand.Connection.Dispose();
}
}
catch (Exception ex)
{
Logger.Log.Error(ex.StackTrace, ex);
throw;
}
}
@Satya는이 경우 정확하며 답변이 실제로 잘못되었습니다. – Coops
@CodeBlend : 누군가 Enterprise Library를 사용하고 있다면 그렇습니다. 그녀의 대답은 정확합니다. 그러나 코드가 '데이터베이스'와 같은 클래스를 참조하지만 질문의 내용과 태그는 EntLib을 참조하지 않습니다. 결과적으로 사람들이 묻는 질문에 대한 답을 찾고 있다면 여전히 정확합니다. –