for (int i = 0; i <= GridView1.Rows.Count - 1; i++)
{
string toemail = GridView1.Rows[i].Cells[2].Text;
string FID1 = GridView1.Rows[i].Cells[0].Text;
GridViewRow row = GridView1.Rows[i];
CheckBox Ckbox = (CheckBox)row.FindControl("CheckBoxMark1");
if (Ckbox.Checked == true)
{
sendMail(toemail);
//ClientScript.RegisterStartupScript(Page.GetType(), "validation", "<script language='javascript'>alert('Email send Succesfully')</script>");
ClientScript.RegisterStartupScript(Page.GetType(), "validation", "<script language='javascript'>alert('Email sent Succesfully on " + test + "')</script>");
cn1.Open();
//cmd4.CommandText = "Insert into TrackingFaculty_det (EmailsentDate) values (@EmailsentDate) WHERE [email protected]";
cmd4.CommandText = "update TrackingFaculty_det SET [email protected] WHERE [email protected] ";
cmd4.CommandType = CommandType.Text;
cmd4.Connection = cn1;
cmd4.Parameters.Add("@Email", SqlDbType.DateTime, 8);
cmd4.Parameters["@Email"].Value = sdt;
cmd4.Parameters.Add("@FID",SqlDbType.VarChar,10);
cmd4.Parameters["@FID"].Value = FID1;
cmd4.ExecuteNonQuery();
cn1.Close();
}
}
// Это часть c#
коды вместе с asp.net
Sql выполнение запроса внутри для цикла
Проблема возникает, если всякий раз, когда for loop
получает выполнил updation
должны быть сделана в database
, но когда for loop
выполняет более чем один раз запрос update
даст ошибку The variable name '@Email' has already been declared. Variable names must be unique within a query batch or stored procedure.
. Любое решение для этого?
Используйте 'SP и TableValueParameters' или просто не повторно использовать команду –
Очистить параметры cmd4 после' cmd4.ExecuteNonQuery (), ' –