C# - Souci DELETE/UPDATE dans BDD [Résolu]

Messages postés
11
Date d'inscription
mercredi 17 septembre 2014
Statut
Membre
Dernière intervention
17 septembre 2014
-
Bonjour, j'ai grave besoin d'aide, j'arrive bien à enregistrer des données dans la base de données mais je ne peux ni supprimer, ni modifier, merci et aurevoir

<code csharp>
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace QUOTAPRO1
{
public partial class formulaire_personnel : Form
{
const string sqlconnexionstring = @"Data Source=DELL-PC\SQLEXPRESS;Initial Catalog=master;Integrated Security=True";
private void select()
{
string strsql = "select * from PERSO";
try
{
SqlConnection connexionstring = new SqlConnection(sqlconnexionstring);
connexionstring.Open();
SqlCommand fallone= new SqlCommand(strsql, connexionstring);
SqlDataAdapter tclasse =new SqlDataAdapter(fallone);
DataSet dsclasse= new DataSet();
tclasse.Fill(dsclasse,"PERSO");
this.dataGridView1.DataSource = dsclasse.Tables[0];

}
catch(SqlException SQLExc)

{
MessageBox.Show(SQLExc.Message,"sql exception error",MessageBoxButtons.OK,MessageBoxIcon.Error);
}
}
public formulaire_personnel()
{
InitializeComponent();
select();

}
private void recheche()
{
string strsql = "select * from PERSO where NOM like '%" +txtrech.Text.ToString()+" % '";
try
{
SqlConnection connexionstring = new SqlConnection(sqlconnexionstring);
connexionstring.Open();
SqlCommand fallone = new SqlCommand(strsql, connexionstring);
SqlDataAdapter tclasse = new SqlDataAdapter(fallone);
DataSet dsclasse = new DataSet();
tclasse.Fill(dsclasse, "PERSO");
this.dataGridView1.DataSource = dsclasse.Tables[0];

}
catch (SqlException SQLExc)
{
MessageBox.Show(SQLExc.Message, "sql exception error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void enregistrement()
{
if ((txtnom.Text == "") || (txtprenom.Text == "") || (txtfonction.Text == ""))
MessageBox.Show("veuillez remplir tous les champs!!!", "erreur", MessageBoxButtons.OK, MessageBoxIcon.Error);
else
{
string strsql= "insert into Personnel values('"+cbadministration.SelectedValue.ToString()+"','"+cbconsommation.SelectedValue.ToString()+"','"+txtnom.Text.ToString()+"','"+txtprenom.Text.ToString()+"','"+txtfonction.Text.ToString()+"','"+txtsexe.Text.ToString()+"','"+txtadresse.Text.ToString()+"','"+txttelephone.Text.ToString()+"','"+txtlogin.Text.ToString()+"','"+txtmp.Text.ToString()+"')";
SqlConnection connexionstring = new SqlConnection(sqlconnexionstring);
connexionstring.Open();
MessageBox.Show("voulez vous valider ces informations?", "informations de la base de données", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
SqlCommand commande = new SqlCommand(strsql, connexionstring);
commande.ExecuteNonQuery();
MessageBox.Show("personnel enregistrer", "informations de la base de données", MessageBoxButtons.OK, MessageBoxIcon.Information);
connexionstring.Close();

}

}
private void modifié()
{
SqlConnection connect = new SqlConnection(sqlconnexionstring);
connect.Open();
string gesql = " UPDATE personnel set CODEAD = '" + cbadministration.SelectedValue.ToString() + "', CODEC = '" + cbconsommation.SelectedValue.ToString() + "', NOM = '" + txtnom.Text.ToString() + "', PRENOM = '" + txtprenom.Text.ToString() + "', FONCTION = '" + txtfonction.Text.ToString() + "', SEXE = '" + txtsexe.Text.ToString() + "', ADRESSE = '" + txtadresse.Text.ToString() + "', TELEPHONE = '" + txttelephone.Text.ToString() + "', LOGIN = '" + txtlogin.Text.ToString() + "', PASSWORD = '" + txtmp.Text.ToString() + "' where NOM = '"+ txtnom.Text.ToString()+"'";
MessageBox.Show("voulez-vous modifier ses information?", "Question", MessageBoxButtons.OKCancel, MessageBoxIcon.Information);
SqlCommand cd = new SqlCommand(gesql, connect);
cd.ExecuteNonQuery();
MessageBox.Show(" Information sur le personnel modifié ","information",MessageBoxButtons.OK,MessageBoxIcon.Information);
connect.Close();

}

private void supprimer()
{
try
{

SqlConnection connexionstring = new SqlConnection(sqlconnexionstring);
connexionstring.Open();
string strsql = " Delete from personnel WHERE NOM = '" + txtnom.Text.ToString() + "'";
SqlCommand commande = new SqlCommand(strsql, connexionstring);
commande.ExecuteNonQuery();
connexionstring.Close();
MessageBox.Show("personnel supprimé", "informations de la base de données", MessageBoxButtons.OK, MessageBoxIcon.Information);

}
catch(SqlException SQLxe)
{
MessageBox.Show(SQLxe.Message,"sql execption error",MessageBoxButtons.OK,MessageBoxIcon.Error);
}

}
private void formulaire_personnel_Load(object sender, EventArgs e)
{
// TODO: cette ligne de code charge les données dans la table 'opi.CONSOMMATION'. Vous pouvez la déplacer ou la supprimer selon vos besoins.
this.cONSOMMATIONTableAdapter1.Fill(this.opi.CONSOMMATION);
// TODO: cette ligne de code charge les données dans la table 'codAd.CONSOMMATION'. Vous pouvez la déplacer ou la supprimer selon vos besoins.
this.cONSOMMATIONTableAdapter.Fill(this.codAd.CONSOMMATION);
// TODO: cette ligne de code charge les données dans la table 'cop.ADMINISTRATEURS'. Vous pouvez la déplacer ou la supprimer selon vos besoins.
this.aDMINISTRATEURSTableAdapter.Fill(this.cop.ADMINISTRATEURS);

}

private void btmodifier_Click(object sender, EventArgs e)
{
modifié();
select();
}

private void btsupprimer_Click(object sender, EventArgs e)
{
supprimer();
select();
}

private void btenregistrement_Click(object sender, EventArgs e)
{
enregistrement();
select();
}

private void label11_Click(object sender, EventArgs e)
{

}

private void label12_Click(object sender, EventArgs e)
{

}

private void txtrech_TextChanged(object sender, EventArgs e)
{
recheche();

}


}
}
</code>
Afficher la suite 

1 réponse

Messages postés
26551
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
22 octobre 2019
316
0
Merci
Je ne peux ni supprimer, ni modifier,


Et ça te fait quoi exactement ?
Tu as un message d'erreur ?
Tu as mis des espions sur tes variables pour voir si elles possèdent les bonnes valeurs ?

Sinon essayes d'afficher ta requête.. et regarde si elle est bonne ( teste là en direct dans ta BDD )
   string strsql= "insert into Personnel values('"+cbadministration.SelectedValue.ToString()+"','"+cbconsommation.SelectedValue.ToString()+"','"+txtnom.Text.ToString()+"','"+txtprenom.Text.ToString()+"','"+txtfonction.Text.ToString()+"','"+txtsexe.Text.ToString()+"','"+txtadresse.Text.ToString()+"','"+txttelephone.Text.ToString()+"','"+txtlogin.Text.ToString()+"','"+txtmp.Text.ToString()+"')";
              
                MessageBox.Show(strsql, "REQUETE");
                




PS: le titre de ta question n'est pas vraiment conforme avec la charte du site..... il faut mettre un TITRE qui reflête le souci rencontré.. en l'occurrence.. dans ton cas quelque chose du genre : "Souci d' DELETE/UPDATE dans BDD"
=> J'édite ton titre pour le modifier...



Avant de poser une question, merci de lire la charte du site.
Cordialement, Jordane
fallonedeJESUS
Messages postés
11
Date d'inscription
mercredi 17 septembre 2014
Statut
Membre
Dernière intervention
17 septembre 2014
-
je vient encore de reesayer avec cette mem syntaxe et voici l'erreur:l'intruction DELETE est en conflit avec la contrainte reférence FK-QUOTA-PERSONNEL, le conflit s'est posé dans la base de données master, table dbo, column codep, l'instruction a été arreté,en fait quota est une tables
jordane45
Messages postés
26551
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
22 octobre 2019
316 -
Ben c'est que tu dois avoir des CLES ETRANGERES Foreign KEY ( FK )...
Il te faut donc les gérer lors de la suppression....
remiki90
Messages postés
111
Date d'inscription
samedi 28 juillet 2012
Statut
Membre
Dernière intervention
10 septembre 2019
3 -
je crois que ton erreur provient du fait que tu as des enfants qui sont utilisé lorsque tu essaye d'enlever le parent, donc te génère une erreur comme quoi il ne peut enlever le parent.Car l'enfant deviendrait orphelin et ne respecterait plus la relation.

il s'agissait Peut être d'un problème de relation entre les deux tables. La table parent (Département) était enregistrée avant la table enfant (Perso). Ou vice-versa C'est cela qui faisait que l'exception était levée
.
jordane45
Messages postés
26551
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
22 octobre 2019
316 -
MINDONGO... c'est le principe des FOREIGN KEYS ... les clés étrangères.... chose que je lui ai déjà expliqué .....hier...
remiki90
Messages postés
111
Date d'inscription
samedi 28 juillet 2012
Statut
Membre
Dernière intervention
10 septembre 2019
3 -
Oui mais vu k'il ne parle pas on suggère
Commenter la réponse de jordane45