Erreur dans une Instruction UPDATE [Résolu]

Signaler
Messages postés
99
Date d'inscription
jeudi 17 janvier 2008
Statut
Membre
Dernière intervention
25 juillet 2013
-
Messages postés
99
Date d'inscription
jeudi 17 janvier 2008
Statut
Membre
Dernière intervention
25 juillet 2013
-
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
]

2 réponses

Messages postés
1860
Date d'inscription
lundi 28 novembre 2005
Statut
Modérateur
Dernière intervention
14 février 2015
42
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é. -
Messages postés
99
Date d'inscription
jeudi 17 janvier 2008
Statut
Membre
Dernière intervention
25 juillet 2013
1
Merci Krimog pour votre aide, je vais aussitôt m'y mettre.