Erreur dans une Instruction UPDATE [Résolu]

Messages postés
99
Date d'inscription
jeudi 17 janvier 2008
Statut
Membre
Dernière intervention
25 juillet 2013
- - Dernière réponse : cs_warzet
Messages postés
99
Date d'inscription
jeudi 17 janvier 2008
Statut
Membre
Dernière intervention
25 juillet 2013
- 28 mai 2012 à 09:00
Merci de bien vouloir prêter une attention a mon soucis. En effet j'ai une erreur lorsque j'exécute cette instruction: merci d'y jeter un coup d'oeil et me dire à quel niveau peut-elle se trouverBOUTON MODIFIER

private void btnModifier_Click(object sender, EventArgs e)
{
// Modifier();

/* gbxChoix.Enabled = true;
gbxChoix.Visible = true;
txtClasse.Visible = false;
txtEvaluation.Visible = false;
txtMatiere.Visible = false;*/

//Declaration d'une boite de dialogue "YesNo"
DialogResult result;
//Message de ma boite de dialogue
result = MessageBox.Show("Voulez-vous Modifier la Notation de cet Elève ?", "Modification", MessageBoxButtons.YesNo,MessageBoxIcon.Question);
//Si l'utilisateur confirme la suppresion on effectue la requette
if (result.ToString() == "Yes")
{

try
{

OleDbCommand Comd new OleDbCommand("UPDATE NOTATIONS SET Mecano ?, Matricule = ?, Classe = ?, Matiere = ?, Evaluation = ?, Note = ?, Coefficient = ?, DateEvaluation = ?, Trimestre = ?, Annee = ? WHERE Mecano = '" + txtMecano.Text + "' And Matricule = '" + this.txtMatricule.Text);//, Conex);
Comd.Parameters.Add(new OleDbParameter("Mecano", System.Data.OleDb.OleDbType.VarWChar, 50,
ParameterDirection.Input, false, 0, 0, null, DataRowVersion.Current, txtMecano.Text.Replace("'", @"\#")));
Comd.Parameters.Add(new OleDbParameter("Matricule", System.Data.OleDb.OleDbType.VarWChar, 50,
ParameterDirection.Input, false, 0, 0, null, DataRowVersion.Current, cboMatricule.Text.Replace("'", @"\#")));
Comd.Parameters.Add(new OleDbParameter("Classe", System.Data.OleDb.OleDbType.VarWChar, 50,
ParameterDirection.Input, false, 0, 0, null, DataRowVersion.Current, cboClasse.Text.Replace("'", @"\#")));
Comd.Parameters.Add(new OleDbParameter("Matiere", System.Data.OleDb.OleDbType.VarWChar, 50,
ParameterDirection.Input, false, 0, 0, null, DataRowVersion.Current, cboMatiere.Text.Replace("'", @"\#")));
Comd.Parameters.Add(new OleDbParameter("Evaluation", System.Data.OleDb.OleDbType.VarWChar, 50,
ParameterDirection.Input, false, 0, 0, null, DataRowVersion.Current, cboEvaluation.Text.Replace("'", @"\#")));
Comd.Parameters.Add(new OleDbParameter("Note", System.Data.OleDb.OleDbType.VarWChar,50,
ParameterDirection.Input, false, 0, 0, null, DataRowVersion.Current, txtNote.Text));
Comd.Parameters.Add(new OleDbParameter("Coefficient", System.Data.OleDb.OleDbType.VarWChar,50,
ParameterDirection.Input, false, 0, 0, null, DataRowVersion.Current, txtCoefficient.Text));
Comd.Parameters.Add(new OleDbParameter("DateEvaluation", System.Data.OleDb.OleDbType.VarWChar, 50,
ParameterDirection.Input, false, 0, 0, null, DataRowVersion.Current, txtDateNote.Text.Replace("'", @"\#")));
Comd.Parameters.Add(new OleDbParameter("Trimestre", System.Data.OleDb.OleDbType.VarWChar, 50,
ParameterDirection.Input, false, 0, 0, null, DataRowVersion.Current, cboTrimestre.Text.Replace("'", @"\#")));
Comd.Parameters.Add(new OleDbParameter("Annee", System.Data.OleDb.OleDbType.VarWChar, 50,
ParameterDirection.Input, false, 0, 0, null, DataRowVersion.Current, txtAnnee.Text));

//Declaration de ma connexion
OleDbConnection Cnx = new OleDbConnection(strCnx);
//Initialisation de la connexion
Comd.Connection = Cnx;
//Ouverture de la connexion
Cnx.Open();
//Execution de la commande
Comd.ExecuteNonQuery();
//Fermeture de la connexion
Comd.Connection.Close();
//Message de confirmation à l'utilisateur
MessageBox.Show("La Note de " + txtNomEleve.Text + " " + txtPrenomEleve.Text + " ont été Modifiée avec succès", "MAJ", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}

#endregion




Erreur de syntaxe dans l’instruction UPDATE.
Alors que cela marche pour d'autres formulaires que j'ai créé en occurrence celle d'enregistrement que je vous donne ci-après[/#region ENREGISTRER

private void Enregistrer()
{
System.Data.OleDb.OleDbConnection Cnx = new System.Data.OleDb.OleDbConnection();
Cnx.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data source=" + Application.StartupPath + @"\GestECOLE.mdb";

//on verify que l'utilisateur à saisie quelque chosses avant d appeler la fonction ajouter
if (txtMecano.Text != " " ||
txtMatricule.Text != "Null" ||
txtAnnee.Text != "" ||
txtCoefficient.Text != "Null" ||
txtDateNote.Text != "" ||
txtNote.Text != "Null" ||
cboTrimestre.Text != "---Selectionner---" ||
cboEvaluation.Text != "---Selectionner---" ||
cboClasse.Text != "---Selectionner---" ||
cboMatiere.Text != "---Selectionner---")
{
//Declaration d'une boite de dialogue "YesNo"
DialogResult result;
//Message de ma boite de dialogue
result = MessageBox.Show("Voulez-vous ajouter un nouveau prospect ?", "Ajout", MessageBoxButtons.YesNo,MessageBoxIcon.Question);
//Si l'utilisateur confirme la suppresion on effectue la requette
if (result.ToString() == "Yes")
{
try
{

// Connexion à la base de test
OleDbConnection Conex = new OleDbConnection(strCnx);
Conex.Open();

OleDbCommand Comd = new OleDbCommand("INSERT INTO NOTATIONS([Matricule], [Mecano], [Classe], [Matiere], [Evaluation], [Note], [Coefficient], [DateEvaluation], [Trimestre], [Annee]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", Conex);
Comd.Parameters.Add(new OleDbParameter("Matricule", System.Data.OleDb.OleDbType.VarWChar, 50,
ParameterDirection.Input, false, 0, 0, null, DataRowVersion.Current, txtMatricule.Text.Replace("'", @"\#")));
Comd.Parameters.Add(new OleDbParameter("Mecano", System.Data.OleDb.OleDbType.VarWChar, 50,
ParameterDirection.Input, false, 0, 0, null, DataRowVersion.Current, txtMecano.Text.Replace("'", @"\#")));
Comd.Parameters.Add(new OleDbParameter("Classe", System.Data.OleDb.OleDbType.VarWChar, 50,
ParameterDirection.Input, false, 0, 0, null, DataRowVersion.Current, cboClasse.Text.Replace("'", @"\#")));
Comd.Parameters.Add(new OleDbParameter("Matiere", System.Data.OleDb.OleDbType.VarWChar, 50,
ParameterDirection.Input, false, 0, 0, null, DataRowVersion.Current, cboMatiere.Text.Replace("'", @"\#")));
Comd.Parameters.Add(new OleDbParameter("Evaluation", System.Data.OleDb.OleDbType.VarWChar, 50,
ParameterDirection.Input, false, 0, 0, null, DataRowVersion.Current, cboEvaluation.Text.Replace("'", @"\#")));
Comd.Parameters.Add(new OleDbParameter("Note", System.Data.OleDb.OleDbType.VarWChar, 50,
ParameterDirection.Input, false, 0, 0, null, DataRowVersion.Current, txtNote.Text));
Comd.Parameters.Add(new OleDbParameter("Coefficient", System.Data.OleDb.OleDbType.VarWChar, 50,
ParameterDirection.Input, false, 0, 0, null, DataRowVersion.Current, txtCoefficient.Text.Replace("'", @"\#")));
Comd.Parameters.Add(new OleDbParameter("DateEvaluation", System.Data.OleDb.OleDbType.VarWChar, 50,
ParameterDirection.Input, false, 0, 0, null, DataRowVersion.Current, txtDateNote.Text));
Comd.Parameters.Add(new OleDbParameter("Trimestre", System.Data.OleDb.OleDbType.VarWChar, 50,
ParameterDirection.Input, false, 0, 0, null, DataRowVersion.Current, cboTrimestre.Text.Replace("'", @"\#")));
Comd.Parameters.Add(new OleDbParameter("Annee", System.Data.OleDb.OleDbType.VarWChar, 50,
ParameterDirection.Input, false, 0, 0, null, DataRowVersion.Current, txtAnnee.Text));
Comd.ExecuteNonQuery();
Conex.Close();

// Déactive les boutons valider et annuler
btnEnregistrer.Enabled = false;
txtNote.Text = "";
this.cboMatricule.Focus();
//btnAnnuler.Enabled = false;

// Active les autres boutons
btnNouveau.Enabled = true;
//btnPrecedent.Enabled = true;
//btnSuivant.Enabled = true;
//btnModifier.Enabled = true;
//btnSupprimer.Enabled = true;
//frmNotations_Load(null, null);

//Apres l'ajout on remet à jours les Enregistrements
nbTotalNotes();
//Defaut();
}
catch (Exception LG)
{
MessageBox.Show(LG.Message, "Erreur");
}

}
}
else
{
MessageBox.Show("Imposible d'ajouter une Note sans informations", "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}

#endregion

#region BOUTON ENREGISTRER
private void Click_Sauver(object sender, EventArgs e)
{
Enregistrer();
}
#endregion
]
Afficher la suite 

2 réponses

Meilleure réponse
Messages postés
1863
Date d'inscription
lundi 28 novembre 2005
Statut
Modérateur
Dernière intervention
14 février 2015
24
3
Merci
Salut

De ce que je vois, tu as oublié de fermer les quotes à la fin de ta requête :

OleDbCommand Comd new OleDbCommand("UPDATE NOTATIONS SET Mecano ?, Matricule = ?, Classe = ?, Matiere = ?, Evaluation = ?, Note = ?, Coefficient = ?, DateEvaluation = ?, Trimestre = ?, Annee = ? WHERE Mecano = '" + txtMecano.Text + "' And Matricule = '" + this.txtMatricule.Text);

>
OleDbCommand Comd new OleDbCommand("UPDATE NOTATIONS SET Mecano ?, Matricule  ?, Classe = ?, Matiere = ?, Evaluation = ?, Note = ?, Coefficient = ?, DateEvaluation = ?, Trimestre = ?, Annee = ? WHERE Mecano = '" + txtMecano.Text + "' And Matricule = '" + this.txtMatricule.Text + "'");



Krimog : while (!(succeed = try())) ;
- Nous ne sommes pas des décodeurs ambulants. Le style SMS est prohibé. -

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 127 internautes nous ont dit merci ce mois-ci

Commenter la réponse de krimog
Messages postés
99
Date d'inscription
jeudi 17 janvier 2008
Statut
Membre
Dernière intervention
25 juillet 2013
1
3
Merci
Merci Krimog pour votre aide, je vais aussitôt m'y mettre.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 127 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_warzet