cs_fayrous
Messages postés48Date d'inscriptionlundi 23 février 2009StatutMembreDernière intervention30 avril 2009
-
27 avril 2009 à 19:53
krimog
Messages postés1860Date d'inscriptionlundi 28 novembre 2005StatutMembreDernière intervention14 février 2015
-
29 avril 2009 à 09:56
Salut;
dans la requete update il y a une erreur de syntax.
pouvez vous m'aider.
System.Data.OleDb.OleDbConnection c = new System.Data.OleDb.OleDbConnection();
c.Open();
System.Data.OleDb.OleDbCommand command new System.Data.OleDb.OleDbCommand("UPDATE Etudiant SET note '" + x + "' WHERE ( (num_exercice LIKE '" + k.ToString() + "') and (num_question LIKE '" + read_ques_enchaine_1[0].ToString() + "') and (num_compostage LIKE '" + compostage[0].ToString() + "') and (matiere LIKE '" + comboBox_matiere_c.SelectedItem + "') and (sectionn LIKE '" + comboBox_section_c.SelectedItem + "') and (date LIKE '" + comboBox_date_c.SelectedItem + "') ); ", c);
command.ExecuteNonQuery();
}
catch (Exception ex)
{
MessageBox.Show("Notre connection n'est pas établit");
}
finally
{
MessageBox.Show("Operation de modification d'exercice est effectuée");
}
merci d'avance
krimog
Messages postés1860Date d'inscriptionlundi 28 novembre 2005StatutMembreDernière intervention14 février 201549 28 avril 2009 à 14:22
Salut
Tout d'abord, renseigne-toi sur les requêtes paramétrées, ça rendra ta requête SQL plus lisible.
Ensuite, dans ta requête, si le champ "note" est un entier, ne met pas de quote autour de sa valeur.
Enfin, toujours dans ta requête, si "date" est de type datetime ou timestamp, il faut utiliser = à la place de LIKE et il y a des règles précises pour les dates (que je ne connais plus par cœur), mais renseigne-toi. Je me demande par exemple si elle ne doit pas être entourée de #.
Si tu n'arrives pas à résoudre ton problème avec ces infos, donne-nous :
- la structure de ta table Etudiant
- la valeur exacte de la requête (donc avec les valeurs des variables)
Krimog : while (!(succeed = try())) ;
- NON, "LE BAR" n'est PAS un langage de programmation ! -
les valeurs des variables est :
matiere -->Reseau Local
sectionn -->I4
date --> 20/04/2009
num_exercice --> 3
num_question --> 2
num_compostage -->112
la note = 1
merci d'avance
Vous n’avez pas trouvé la réponse que vous recherchez ?
krimog
Messages postés1860Date d'inscriptionlundi 28 novembre 2005StatutMembreDernière intervention14 février 201549 29 avril 2009 à 09:56
Tout d'abord, vérifie que ta requête est bien exactement comme ça (au caractère près) :
UPDATE Etudiant SET note = 1 WHERE ( (num_exercice LIKE '3') and (num_question LIKE '2') and (num_compostage LIKE '112') and (matiere LIKE 'Reseau Local') and (sectionn LIKE 'I4') and (date LIKE '20/04/2009') );
Tu peux également essayer de faire un copier-coller de ta requête (donc théoriquement de ce que je viens de marquer) dans Access, puis d'exécuter. Access sera probablement plus précis en ce qui concerne l'emplacement de l'erreur.
Krimog : while (!(succeed = try())) ;
- NON, "LE BAR" n'est PAS un langage de programmation ! -