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

fallonedeJESUS 11 Messages postés mercredi 17 septembre 2014Date d'inscription 17 septembre 2014 Dernière intervention - 17 sept. 2014 à 10:28 - Dernière réponse : remiki90 107 Messages postés samedi 28 juillet 2012Date d'inscription 11 mars 2018 Dernière intervention
- 18 sept. 2014 à 13:22
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 

Votre réponse

18 réponses

jordane45 22508 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 18 septembre 2018 Dernière intervention - Modifié par jordane45 le 17/09/2014 à 11:05
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 11 Messages postés mercredi 17 septembre 2014Date d'inscription 17 septembre 2014 Dernière intervention - 17 sept. 2014 à 13:12
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 22508 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 18 septembre 2018 Dernière intervention - 17 sept. 2014 à 13:54
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 107 Messages postés samedi 28 juillet 2012Date d'inscription 11 mars 2018 Dernière intervention - 18 sept. 2014 à 12:27
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 22508 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 18 septembre 2018 Dernière intervention - 18 sept. 2014 à 12:31
MINDONGO... c'est le principe des FOREIGN KEYS ... les clés étrangères.... chose que je lui ai déjà expliqué .....hier...
remiki90 107 Messages postés samedi 28 juillet 2012Date d'inscription 11 mars 2018 Dernière intervention - 18 sept. 2014 à 13:22
Oui mais vu k'il ne parle pas on suggère
Commenter la réponse de jordane45

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.