cs_julien67
Messages postés10Date d'inscriptionjeudi 10 avril 2003StatutMembreDernière intervention21 juillet 2005
-
22 oct. 2003 à 09:49
bucherb
Messages postés412Date d'inscriptionlundi 26 mai 2003StatutMembreDernière intervention13 août 2007
-
22 oct. 2003 à 10:03
Salut,
j'ai un problème concernant les guillemets dans une requête SQL...
j'ai un programme getCounter qui prend en variable le nom d'un compteur, jusque là pas de problème...
par contre je veux inclure ce nom de compteur dans ma requête sql, j'écris donc :
sSqlcmd = "SELECT Counterdifference FROM Countertable WHERE datepart('m',Eventtime)=datepart('m',now()) AND Countername = " + """ + countername + """
--> quand j'affiche le résultat du string (sSqlcmd), j'obtiens bien SELECT Counterdifference FROM Countertable WHERE datepart('m',Eventtime)=datepart('m',now()) AND Countername = "<mon_nom_de_compteur>"
par contre j'ai un message d'erreur qui est retourné : ERROR [07002] [Microsoft][Pilote ODBC Microsoft Access] Trop peu de paramètres. 1 attendu.
j'ai essayé avec une requête où j'ai enlevé la partie AND Countername = " + """ + countername + """
et là ça fonctionne !!! ?????
quand je prends la requête en entier et que je l'exécute dans Access, j'ai bien des résultats donc ça vient pas de là !!!!!????
je pense que le problème vient des guillemets que j'ai dû insérer avec """... quelqu'un a-t-il une idée ??
bucherb
Messages postés412Date d'inscriptionlundi 26 mai 2003StatutMembreDernière intervention13 août 2007 22 oct. 2003 à 10:03
Je te propose de plutôt écrire ta requête en utilisant les simples quote plutôt que les doubles.. ça peut corriger ton problème:
sSqlcmd = "SELECT `Counterdifference` FROM `Countertable` WHERE datepart('m',Eventtime)=datepart('m',now()) AND Countername = '" + countername + "'";
Je sais c'est pas très lisible lol, mais le principe étant d'écrire au final : Countername='<nom de ton compteur>' au lieu de
Countername="<nom de ton compteur>" ..