[英]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.