В моей программе есть 3 основные функции INSERT UPDATE DELETE, проект о создании профиля машины в базе данных, его обновлении и удалении.
Пока мой код работает, но у меня есть некоторые проблемы сдублирует, когда я хочу обновить в своем коде, я проверяю, существует ли профиль, поэтому он хочет дублировать его, но здесь, когда когда-либо обновляю его, дублирую запись, и когда я удаляю, это делает то же самое.
Это ссылка на видео, выражающее мою проблему: https://vimeo.com/317221805
Вот мой код:
private void Sauv_Btn_Click_1(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(cnString);
using (SqlCommand check_User_Name = new SqlCommand("SELECT COUNT(*) FROM [Fiche_Machine] WHERE ([N_SERIE] = @N_SERIE)", con))
{
con.Open();
check_User_Name.Parameters.AddWithValue("@N_SERIE", textBoxNumSer.Text);
using (SqlDataReader reader = check_User_Name.ExecuteReader())
{
reader.Read();
int count = reader.GetInt32(0);
}
int UserExist = (int)check_User_Name.ExecuteScalar();
if (MessageBox.Show("Voulez-vous sauvgarder la modification de cette fiche client ?", "Sauvgarde fiche client...", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
try
{
if (UserExist == 0)
{
MessageBox.Show("Le Client n'existe pas Renseigner le numero de Serie UNIQUE obligatoirement");
}
else if (UserExist > 0)
{
//Fihce Machine-----------------------------------------------------------------------------------------------------------------
Methodes.dt.Rows[rowId]["N_SERIE"] = textBoxNumSer.Text.Trim();
Methodes.dt.Rows[rowId]["TYPE_DE_MACHINE"] = textBoxTpMch.Text.Trim();
Methodes.dt.Rows[rowId]["N_MOTEUR"] = textBoxNumMtr.Text.Trim();
Methodes.dt.Rows[rowId]["PONT_AVANT"] = textBoxPnAv.Text.Trim();
Methodes.dt.Rows[rowId]["PONT_ARRIERE"] = textBoxPnAr.Text.Trim();
Methodes.dt.Rows[rowId]["BOITE_DE_VITESSE"] = textBoxBtVit.Text.Trim();
Methodes.dt.Rows[rowId]["DISTRIBUTEUR_AVANT"] = textBoxDisAv.Text.Trim();
//------------------------------------------------------------------------------------------------------------------------
Methodes.adap.Update(Methodes.dt);
MessageBox.Show("Fiche Sauvgarder avec succés");
}
}
catch (SqlException ex)
{
MessageBox.Show(ex.Message);
}
}
Form1 form1 = new Form1();
form1.LoadData();
}
}
private void Vld_Btn_Click_1(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(cnString);
using (SqlCommand check_User_Name = new SqlCommand("SELECT COUNT(*) FROM [Fiche_Machine] WHERE ([N_SERIE] = @N_SERIE)", con))
{
con.Open();
check_User_Name.Parameters.AddWithValue("@N_SERIE", textBoxNumSer.Text);
using (SqlDataReader reader = check_User_Name.ExecuteReader())
{
reader.Read();
int count = reader.GetInt32(0);
}
int UserExist = (int)check_User_Name.ExecuteScalar();
if (UserExist == 0)
{
try
{
if (textBoxNumSer.Text.Trim() == ("N_SERIE"))
{
MessageBox.Show("N°SERIE Existant vous pouvez le modifier ou le supprimer");
}
if (textBoxNumSer.Text.Trim() == "")
{
MessageBox.Show("Remplissez les champs vides.... et renseigner le numero de Serie UNIQUE obligatoirement");
}
else
{
DataRow dr;
dr = Methodes.dt.NewRow();
//Fihce Machine-----------------------------------------------------------------------------------------------------------------
dr["N_SERIE"] = textBoxNumSer.Text.Trim();
dr["TYPE_DE_MACHINE"] = textBoxTpMch.Text.Trim();
dr["N_MOTEUR"] = textBoxNumMtr.Text.Trim();
dr["PONT_AVANT"] = textBoxPnAv.Text.Trim();
dr["PONT_ARRIERE"] = textBoxPnAr.Text.Trim();
dr["BOITE_DE_VITESSE"] = textBoxBtVit.Text.Trim();
dr["DISTRIBUTEUR_AVANT"] = textBoxDisAv.Text.Trim();
//------------------------------------------------------------------------------------------------------------------------
Methodes.dt.Rows.Add(dr);
Methodes.adap.Update(Methodes.dt);
try
{
MessageBox.Show("Fiche Sauvgarder avec succés");
}
catch (SqlException ex)
{
MessageBox.Show(ex.Message);
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
con.Close();
}
else
{
MessageBox.Show("Ce Numero de Serie existe déjà entrez un nouveau svp");
}
}
Form1 form1 = new Form1();
form1.LoadData();
}
private void Supp_Btn_Click_1(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(cnString);
using (SqlCommand check_User_Name = new SqlCommand("SELECT COUNT(*) FROM [Fiche_Machine] WHERE ([N_SERIE] = @N_SERIE)", con))
{
con.Open();
check_User_Name.Parameters.AddWithValue("@N_SERIE", textBoxNumSer.Text);
using (SqlDataReader reader = check_User_Name.ExecuteReader())
{
reader.Read();
int count = reader.GetInt32(0);
}
int UserExist = (int)check_User_Name.ExecuteScalar();
if (UserExist > 0)
{
try
{
if (textBoxNumSer.Text.Trim() == "")
{
MessageBox.Show("La fiche est vide !! Veuillez Selectionner une fiche à supprimer");
}
else
{
try
{
if (MessageBox.Show("êtes-vous sûr de vouloir supprimer ?", "Suppression...", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
Methodes.dt.Rows[rowId].Delete();
Methodes.adap.Update(Methodes.dt);
MessageBox.Show("Fiche Supprimer avec succés");
}
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
Form1 form1 = new Form1();
form1.LoadData();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
}
}