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];
} 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);
} 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);
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
.... Quand je regarde ta requête INSERT ... déjà je constate que tu as une différence dans le nom de ta table.... Personnel avec un P majuscule... alors que dans tes autres requêtes.. tu y a mis un p minuscule...
merci pour ta réponse et désolé je suis nouvelles dans le site mais ca ira et pour la réponse j'arrive bien à enregistrer des données dans ma base de données mais je n'arrive pas à supprimer, ni à modifier, ça dit que les variables de types text ou var char ne sont pas compatibles avec l'opérateur equal to pourtant je voisque la syntaxe est bonne
oui c'est sur cette ligne que j'ai eu l'erreur: cd.ExecuteNonQuery();, et voici l'erreur:les types de données text et varchar sont incompatibles dans l'opérateur equal to
De quels TYPE sont les champs de ta BDD ?
N'aurais tu pas des champs TEXT ou VARCHAR ?
Il semble que tu ne puisses pas les utiliser dans le WHERE lorsque tu veux faire .. =
Donc... peut être qu'en remplacçant (pour ces champs) le EGAL par un LIKE ça pourrait marcher...
Sinon il te faut modifier le type de tes champs en nvarchar je pense
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
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
.
17 sept. 2014 à 11:08
Tu ne parviens pas à SUPPRIMER ni à MODIFIER ...
Donc ce n'est pas ta requête INSERT que tu dois regarder mais bien tes requêtes DELETE et UPDATE...
.... Quand je regarde ta requête INSERT ... déjà je constate que tu as une différence dans le nom de ta table.... Personnel avec un P majuscule... alors que dans tes autres requêtes.. tu y a mis un p minuscule...
17 sept. 2014 à 11:09
17 sept. 2014 à 11:10
17 sept. 2014 à 11:20
17 sept. 2014 à 11:21
Et tu peux nous coller le texte EXACT (et complet) de ton message d'erreur ?