我們應該在類中重用一個Static SqlConnection,還是最好創建它的一個實例?C#靜態SQLConnection
FactoryDB factory =
FactoryDB.GetInstance("sp_select_regional", TipoExecucao.StoredProcedure,
"portal_sadiaConnectionString");
factory.AutoReset = true;
using (FactoryDB.Conn)
{
factory.ParametersCount = 1;
factory.Parameters[0] =
FactoryDB.CreateParameter(((IMarcas)Comentario).IDMarca,
'I', "@int_id_marca");
factory.AddParameters();
foreach (DataRow drFilial in factory.GetData().Rows)
{
Regionias filial = new Regionias()
{
IDRegional = Convert.ToInt32(drFilial["int_id_regional"]),
TxtRegional = drFilial["txt_regional"].ToString()
};
lstRegional.Add(filial);
}
return lstRegional;
}
在這個例子中「使用」使用來自FactoryDB類的靜態的SqlConnection,它使用Singleton模式來獲得它的唯一實例。
我想知道是否正確使用這樣的連接,導致如果想要在DB中執行另一個查詢,我需要將「FactoryDB.Conn」屬性設置爲NULL。
你真的試着運行這段代碼嗎?它會失敗,出現ObjectDisposed異常,第二次嘗試使用'SqlConnection'。 – Steven 2010-10-29 13:19:10
我的alerady使用這個,它工作正常!屬性「AutoReset」,設置連接爲null後執行。 – ozsenegal 2010-10-29 13:20:45
在這種情況下,它不是一個單身人士:-) – Steven 2010-10-29 13:24:00