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

Résolu
Moomoon07 Messages postés 223 Date d'inscription mercredi 31 mai 2006 Statut Membre Dernière intervention 5 mai 2014 - 30 oct. 2006 à 14:23
Nikoui Messages postés 794 Date d'inscription vendredi 24 septembre 2004 Statut Membre Dernière intervention 19 août 2008 - 30 oct. 2006 à 15:27
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

Nikoui Messages postés 794 Date d'inscription vendredi 24 septembre 2004 Statut Membre Dernière intervention 19 août 2008 10
30 oct. 2006 à 15:27
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...
3
Nikoui Messages postés 794 Date d'inscription vendredi 24 septembre 2004 Statut Membre Dernière intervention 19 août 2008 10
30 oct. 2006 à 14:48
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]").
0
Moomoon07 Messages postés 223 Date d'inscription mercredi 31 mai 2006 Statut Membre Dernière intervention 5 mai 2014
30 oct. 2006 à 15:03
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
0