私は古い学校のADO.netをC#で使っていますので、この種のコードがたくさんあります。クエリごとに1つの関数を作成し、毎回dbを開いたり閉じたりするのがよいでしょうか、同じ接続で複数のクエリを実行するのが良いでしょうか?下の例は、単なる例です。クエリごとにdbを開いて閉じるべきですか?
using (SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["DBConnectMain"].ConnectionString))
{
// Add user to database, so they can't vote multiple times
string sql = " insert into PollRespondents (PollId, MemberId) values (@PollId, @MemberId)";
SqlCommand sqlCmd = new SqlCommand(sql, connection);
sqlCmd.Parameters.Add("@PollId", SqlDbType.Int);
sqlCmd.Parameters["@PollId"].Value = PollId;
sqlCmd.Parameters.Add("@MemberId", SqlDbType.Int);
sqlCmd.Parameters["@MemberId"].Value = Session["MemberId"];
try
{
connection.Open();
Int32 rowsAffected = (int)sqlCmd.ExecuteNonQuery();
}
catch (Exception ex)
{
//Console.WriteLine(ex.Message);
}
}
これは複数の連続したクエリ(500個の挿入など)ですか?または定期的なクエリですか? –