اول کوئری آپدیت بزن اگر انجام نشد اونوقت اینزرت کن(کد رو تست نکردم):
if (connect.State != ConnectionState.Open)
{
connect.Open();
}
for (int i = 0; i < dataGridView4.Rows.Count; i++)
{
SqlCommand cmd = new SqlCommand("UPDATE MaliRecieve SET Shsanad=@Shsanad , Shgh=@Shgh , NameM=@NameM , FamilyM=@FamilyM , Nametor=@Nametor , DateSabt=@DateSabt , DateRecieve=@DateRecieve , TypeRecieve=@TypeRecieve , MonyRecieve=@MonyRecieve , mablaghekol=@mablaghekol , Comm=@Comm WHERE ID=@ID ",connect);
cmd.Parameters.AddWithValue("@!D", Convert.ToInt32(dataGridView4.Rows[i].Cells[0].Value));
cmd.Parameters.AddWithValue("@Shsanad", shgh.Text);
cmd.Parameters.AddWithValue("@Shgh", shgh.Text);
cmd.Parameters.AddWithValue("@NameM", t.Rows[0][2]);
cmd.Parameters.AddWithValue("@FamilyM", t.Rows[0][3]);
cmd.Parameters.AddWithValue("@Nametor", t.Rows[0][18]);
cmd.Parameters.AddWithValue("@DateSabt", dataGridView4.Rows[i].Cells[1].Value.ToString());
cmd.Parameters.AddWithValue("@DateRecieve", dataGridView4.Rows[i].Cells[2].Value.ToString());
cmd.Parameters.AddWithValue("@TypeRecieve", dataGridView4.Rows[i].Cells[3].Value.ToString());
cmd.Parameters.AddWithValue("@MonyRecieve", Convert.ToInt32(dataGridView4.Rows[i].Cells[4].Value.ToString().Replace(",", "")));
cmd.Parameters.AddWithValue("@mablaghekol", Convert.ToInt32(t.Rows[0][25]));
cmd.Parameters.AddWithValue("@Comm", null);
int count = cmd.ExecuteNonQuery();
if (count == 0)
{
cmd.CommandText = "insert into MaliRecieve (ID,Shsanad,Shgh,NameM,FamilyM,Nametor,DateSabt,Da teRecieve,TypeRecieve,MonyRecieve,mablaghekol,Comm ) values(@ID,@Shsanad,@Shgh,@NameM,@FamilyM,@Nametor ,@DateSabt,@DateRecieve,@TypeRecieve,@MonyRecieve, @mablaghekol,@Comm)";
cmd.ExecuteNonQuery();
}
}
if (connect.State != ConnectionState.Closed)
{
connect.Close();
}