bbsimonbb
bbsimonbb

Reputation: 29020

Ignore column for one iteration of a looped parameterized update statement

If I have a parameterized update statement in a loop, as explained here...

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();

...is there a magic value I can put in the parameter for a given iteration to not update, to keep the column's existing value?

Upvotes: 0

Views: 24

Answers (1)

diiN__________
diiN__________

Reputation: 7666

For example if you don't want to update the row when i == 4, you can check it in the if statement:

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();
}

Upvotes: 1

Related Questions