Requête SQL OK pour Access, mais pas pour C#

[Résolu]
Signaler
Messages postés
223
Date d'inscription
mercredi 31 mai 2006
Statut
Membre
Dernière intervention
5 mai 2014
-
Messages postés
794
Date d'inscription
vendredi 24 septembre 2004
Statut
Membre
Dernière intervention
19 août 2008
-
Salut !

J'ai un souci sur 2 requêtes SQL.
Ces 2 requêtes sont un 'INSERT' et un 'UPDATE' sur une même table.
Je les envoi via la méthode suivante sur une base de donnée access.
Or mon programme me retourne une erreur : erreur de syntaxe dans l'instruction 'INSERT INTO', (ou 'UPDATE'), alors que ces 2 requêtes (que je copie via le débugger) marchent parfaitement quand je les crée dans Access.
Est ce que vous pouvez me dire d'où ca vient ?
Ma table contient 56 champs, n'est ce pas trop ?
(J'ai déja eu ce pb, parce que dans une table j'avais créé un champ 'date', dénomination qui retourne une erreur. Ya t'il d'autres dénominations interdites pour nommer des champs ??)

public
void ExecuterRequete(
string Requete)
{

OleDbConnection myConnection =
new
OleDbConnection(cString);

OleDbCommand myCommand =
new
OleDbCommand(Requete);
myCommand.Connection = myConnection;
myConnection.Open()

myCommand.ExecuteNonQuery();
myCommand.Connection.Close();
} //Execute la requete en paramêtreavec cstring = "Provider=Microsoft.Jet.oledb.4.0;Data Source=c:\MaBDD.mdb"

MMN

3 réponses

Messages postés
794
Date d'inscription
vendredi 24 septembre 2004
Statut
Membre
Dernière intervention
19 août 2008
10
La liste des nom réservés doit pouvoir se trouver sur le net, dans le doute il suffit d'encadrer tout tes noms de champ par [].
Quand au fait que cela passe lorsque la requête est exécutée par Access... c'est sans doute car access fait la différence en interne entre tes noms et les siens...
Messages postés
794
Date d'inscription
vendredi 24 septembre 2004
Statut
Membre
Dernière intervention
19 août 2008
10
D'après l'erreur que tu cites, c'est dans la syntaxe de la requête qu'il y a quelque chose qui ne passe pas... Que vaut "Requete" ?

(sinon pour les champs utilisant un nom "reservé", comme Date, tu peux les utiliser, en les encadrant de crochet : "[Date]").
Messages postés
223
Date d'inscription
mercredi 31 mai 2006
Statut
Membre
Dernière intervention
5 mai 2014

J'ai résolu mon pb pour la requête update :
J'avais nommé des champs : Usage et References.
Mais alors, comment peut on connaitre ces noms réservés !!?
Et comment se fait t'il que la requête passe via access ?

MMN