私はしばらくの間ウェブを検索していました。しかし、私の質問に対する明確な答えは見つかりませんでした。データベースに接続するときに「using」を使用する必要があるのか、それともtry-catch-finallyを使用するだけでよいのか。私が意味するのは:
データベースとの対話を終了するたびに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について知り始めており、この種の質問に対する最良の答えを知りたいと思っています。