【发布时间】:2016-06-27 03:57:05
【问题描述】:
我有一段代码
await this._Conn.OpenAsync();
using (SqlCommand cmd = new SqlCommand("AddOrUpdateAnswer", this._Conn))
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@AnswerVal", Answer.AnswerVal);
cmd.Parameters.AddWithValue("@QuestionId", Answer.QuestionId);
cmd.Parameters.AddWithValue("@PartnerId", Answer.PartnerId);
await cmd.ExecuteNonQueryAsync();
}
this._Conn.Close();
目前不在循环内,但现在我想在循环内运行。我的问题是我是否应该这样写
for ( var Answer in Answers )
{
await this._Conn.OpenAsync();
using (SqlCommand cmd = new SqlCommand("AddOrUpdateAnswer", this._Conn))
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@AnswerVal", Answer.AnswerVal);
cmd.Parameters.AddWithValue("@QuestionId", Answer.QuestionId);
cmd.Parameters.AddWithValue("@PartnerId", Answer.PartnerId);
await cmd.ExecuteNonQueryAsync();
}
this._Conn.Close();
}
或者我可以像
那样在整个循环中打开它吗 await this._Conn.OpenAsync();
for ( var Answer in Answers )
{
using (SqlCommand cmd = new SqlCommand("AddOrUpdateAnswer", this._Conn))
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@AnswerVal", Answer.AnswerVal);
cmd.Parameters.AddWithValue("@QuestionId", Answer.QuestionId);
cmd.Parameters.AddWithValue("@PartnerId", Answer.PartnerId);
await cmd.ExecuteNonQueryAsync();
}
}
this._Conn.Close();
为什么或为什么不?
【问题讨论】:
标签: c# sql asp.net sql-server