मेरे पास निम्न 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;
}
}
मुझे विश्वास है कि इस मामले में @ सत्यया सही है और आपका जवाब वास्तव में गलत है। – Coops
@CodeBlend: उस स्थिति में जहां कोई एंटरप्राइज़ लाइब्रेरी का उपयोग कर रहा है, तो हाँ, उसका जवाब सही है। हालांकि, कोड 'डेटाबेस' जैसे संदर्भ वर्ग करता है, जबकि प्रश्न की सामग्री और टैग EntLib का संदर्भ नहीं देते हैं। नतीजतन, यदि लोग पूछे जाने वाले प्रश्न का उत्तर खोज रहे हैं, तो यह अभी भी सही होगा। –