在随后的循环中调用Prepare会伤害,帮助还是没有区别?

时间:2013-04-03 22:03:45

标签: c# sql-server-ce

使用此代码,它位于foreach块中:

if (!First)
{
    cmd.Parameters[0].Value = Dept.AccountID;
    cmd.Parameters[1].Value = Dept.AccountName;
    // should this call cmd.Prepare() too?
}

if (First)
{
    cmd.Parameters.Add("@account_id", Dept.AccountID);
    cmd.Parameters.Add("@name",Dept.AccountName); 
    cmd.Prepare();
    First = false;
}

...我在“不是第一次”的条件结尾添加了评论。

每次调用Prepare(),或者当First对于每个后续循环都满足时,是否调用Prepare()?

1 个答案:

答案 0 :(得分:1)

调用cmd.Prepare()一次就足够了。它不关心参数值,只关心参数大小。多次调用不会导致问题,但也没有必要。