I want to do update and insert in one button.
i want it to check if there's data then it will just update it but if not it will add it.
I don't know what i'm missing in this code
cnx.Open();
SqlCommand cmd = cnx.CreateCommand();
SqlDataReader dr;
cmd.CommandText = "Select * from TPayement where ID='" + txt_ID.Text + "'";
dr = cmd.ExecuteReader();
if (dr.HasRows)
{
dr.Read();
cmd.CommandText = "update TPayement (ID, Nom, QUA, Salaire, NombreJour, HeurSupplimentaire, SalaireHeur, Somme) values (@ID, @Nom, @QUA, @Salaire, @NombreJour, @HeurSupplimentaire, @SalaireHeur, @Somme) where ID='" + txt_ID.Text + "'";
cmd.Parameters.Add("@ID", SqlDbType.Int);
cmd.Parameters.Add("@Nom", SqlDbType.VarChar, 50);
cmd.Parameters.Add("@QUA", SqlDbType.VarChar, 50);
cmd.Parameters.Add("@Salaire", SqlDbType.Float);
cmd.Parameters.Add("@NombreJour", SqlDbType.Float);
cmd.Parameters.Add("@HeurSupplimentaire", SqlDbType.Float);
cmd.Parameters.Add("@SalaireHeur", SqlDbType.Float);
cmd.Parameters.Add("@Somme", SqlDbType.Float);
cmd.Parameters["@ID"].Value = txt_ID.Text;
cmd.Parameters["@Nom"].Value = txt_Nom.Text;
cmd.Parameters["@QUA"].Value = txt_QUA.Text;
cmd.Parameters["@Salaire"].Value = txt_Salaire.Text;
cmd.Parameters["@NombreJour"].Value = txt_NBRJ.Text;
cmd.Parameters["@HeurSupplimentaire"].Value = txt_HSUP.Text;
cmd.Parameters["@SalaireHeur"].Value = txt_SalireHeur.Text;
cmd.Parameters["@Somme"].Value = txt_Somme.Text;
cmd.ExecuteNonQuery();
MessageBox.Show("Se payement est enregistrer");
}
else
{
cmd.CommandText = "insert into TPayement (ID, Nom, QUA, Salaire, NombreJour, HeurSupplimentaire, SalaireHeur, Somme) values (@ID, @Nom, @QUA, @Salaire, @NombreJour, @HeurSupplimentaire, @SalaireHeur, @Somme)";
cmd.Parameters.Add("@ID", SqlDbType.Int);
cmd.Parameters.Add("@Nom", SqlDbType.VarChar, 50);
cmd.Parameters.Add("@QUA", SqlDbType.VarChar, 50);
cmd.Parameters.Add("@Salaire", SqlDbType.Float);
cmd.Parameters.Add("@NombreJour", SqlDbType.Float);
cmd.Parameters.Add("@HeurSupplimentaire", SqlDbType.Float);
cmd.Parameters.Add("@SalaireHeur", SqlDbType.Float);
cmd.Parameters.Add("@Somme", SqlDbType.Float);
cmd.Parameters["@ID"].Value = txt_ID.Text;
cmd.Parameters["@Nom"].Value = txt_Nom.Text;
cmd.Parameters["@QUA"].Value = txt_QUA.Text;
cmd.Parameters["@Salaire"].Value = txt_Salaire.Text;
cmd.Parameters["@NombreJour"].Value = txt_NBRJ.Text;
cmd.Parameters["@HeurSupplimentaire"].Value = txt_HSUP.Text;
cmd.Parameters["@SalaireHeur"].Value = txt_SalireHeur.Text;
cmd.Parameters["@Somme"].Value = txt_Somme.Text;
dr.Close();
cmd.ExecuteNonQuery();
MessageBox.Show("Se payement est enregistrer");
}
dr.Close();
cnx.Close();