繁体   English   中英

忽略循环的参数化更新语句的一次迭代的列

[英]Ignore column for one iteration of a looped parameterized update statement

如果我在循环中有参数化的update语句, 如此处所述 ...

SqlCommand cmd4 = new SqlCommand("update TrackingFaculty_det " + 
                                "SET Name=@Name, EmailsentDate=@Email WHERE FID=@FID", cn1);
cn1.Open();
cmd4.Parameters.Add("@Email", SqlDbType.DateTime, 8);
cmd4.Parameters.Add("@FID",SqlDbType.VarChar,10);
cmd4.Parameters.Add("@Name",SqlDbType.VarChar,50);
for (int i = 0; i <= GridView1.Rows.Count - 1; i++)
{
   .....
   if (Ckbox.Checked == true)
   {
      ....
      cmd4.Parameters["@Email"].Value = sdt;
      cmd4.Parameters["@FID"].Value = FID1;
      cmd4.Parameters["@Name"].Value = Name;
      cmd4.ExecuteNonQuery();
   }
}
cn1.Close();

...是否可以在给定迭代的参数中添加一个不可更改的魔术值,以不更新 ,以保持列的现有值?

例如,如果不想在i == 4时更新行,则可以在if语句中进行检查:

if (Ckbox.Checked == true)
{
    ....
    if (i == 4)
        cmd4.Parameters["@Email"].Value = sdt;
    else
        cmd4.Parameters["@Name"].Value = Name;
    cmd4.Parameters["@FID"].Value = FID1;
    cmd4.ExecuteNonQuery();
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM