Problème de INSERT INTO en c# dans Acess 2010

Frank2312 -  
 Frank2312 -
Bonjour,

J'obtient l'erreur "Erreur de syntaxe dans l'instruction INSERT INTO." lorsque j'essaie d'insérer des informations dans ma base de données. Pourtant, j'ai copié/coller un de mes propres codes qui existait déjà et pour le quel je n'ai eu aucun problème à faire fonctionner. Je l'ai bien sûr modifié selon mon nouveau projet.

Voici les détails :

Trace de la pile:
[OleDbException (0x80040e14): Erreur de syntaxe dans l'instruction INSERT INTO.]
   System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling(OleDbHResult hr) +1081420
   System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult) +247
   System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult) +194
   System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult) +58
   System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method) +167
   System.Data.OleDb.OleDbCommand.ExecuteNonQuery() +113
   TP2.Réservation_local.btnSubmit_Click(Object sender, EventArgs e) in C:\Users\Frank\Documents\Mallette magique\Dropbox\CEGEP\Session_2\Multimedia\TPs\TP3\TP3\Réservation_local.aspx.cs:186
   System.Web.UI.WebControls.Button.OnClick(EventArgs e) +118
   System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +112
   System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
   System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
   System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +36
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +5563


Code en question:

OleDbCommand maCommande;
string requeteSQL;
requeteSQL = "INSERT INTO Reservations (Local, Jour, Heure, Matricule) Values (@loc, @jour, @heure, @mat);";
maCommande = new OleDbCommand(requeteSQL, maConnexion);
maCommande.Parameters.AddWithValue("loc", i);
maCommande.Parameters.AddWithValue("jour", date);
maCommande.Parameters.AddWithValue("heure", (j + 7));
maCommande.Parameters.AddWithValue("mat", txtMatricule.Text);
maCommande.ExecuteNonQuery(); //L'ERREUR APPARAIT ICI, donc dans ma requête.


Merci pour toute aide que vous pourriez me donner.
A voir également:

1 réponse

Mopra-L Messages postés 146 Date d'inscription   Statut Membre Dernière intervention   6
 
Bonjour,

As-tu essayé de faire un echo de ta variable requeteSQL, et de l'exécuter directement sur ta BDD, si c'est possible ?


0
Frank2312
 
Pourrais-je savoir comment faire ce que tu as décris? Je débute présentement en c# et en Access.

Merci :).
0
Mopra-L Messages postés 146 Date d'inscription   Statut Membre Dernière intervention   6
 
Autant pour moi, j'aurais du apprendre à lire les titres en entier, je croyais que c'était du PHP ^^'

Je ne connais pas le C#, mais si c'est comme le C++, pour afficher du texte, il faudrait faire comme ca, je crois

cout << requeteSQL 


Pour ce qui est de tester une requête avec Acces, j'avoue que je ne me souviens plus exactement la procédure pour tester des requêtes ^^'
0
Frank2312
 
Le C# n'est pas vraiment comme le C++. D'ailleurs, je ne cherche pas à afficher quoi que ce soit à l'écran, je veut tout simplement envoyer de l'information entrée par un utilisateur dans ma base de données.

J'ai déjà utilisé la partie de code mentionnée dans ma question dans un autre de mes projets, mais, étrangement, il ne veut pas fonctionner dans mon projet actuel, ce que je trouve très étrange. J'ai beau vérifier et re-vérifier, je ne vois pas mon erreur.
0