我在網上搜索了一段時間。但是我的問題沒有找到明確的答案。無論何時連接到數據庫,我都應該使用「using」,或者我可以使用try-catch-finally?我的意思是:當使用「DbConnection」時,我應該使用「using」還是try-catch-finally使用DbConnection.close()來關閉連接?
我不知道每次我完成與數據庫的交互或關閉連接時是否應該調用dispose方法。
static public List<Category> GetAll()
{
List<Category> CategoryList;
try
{
BaseDAO.Dbconn.Open();
BaseDAO.SetCommand(BaseDAO.CommandAction.Read, "SELECT * FROM Categories");
CategoryList = new List<Category>();
using (DbDataReader reader = BaseDAO.Dbcmd.ExecuteReader())
{
while (reader.Read())
{
int ID = reader.GetInt32(reader.GetOrdinal("CategoryID"));
string Name = reader.GetString(reader.GetOrdinal("CategoryName"));
string Description = reader.GetString(reader.GetOrdinal("Description"));
CategoryList.Add(new Category(ID, Name, Description));
}
}
return CategoryList;
}
catch (Exception ex)
{
BaseDAO.Dbconn.Dispose();
throw ex;
}
finally { BaseDAO.Dbconn.Close(); }
}
的「的DbConnection」是靜態不知道這是一個很好的解決方案,以及...
我結識ADO,只是想知道什麼是對這類問題的最佳答案。
[在C#中使用「]的使用(http:// stackoverflow。com/questions/75401/c-sharp中的使用方法) –