[RESOLU]Histoire de variables

Histoire de variables [RESOLU] - SQL/NoSQL - Programmation

Marsh Posté le 22-10-2010 à 09:35:44    

Bonjour à tous,
 
Lorsque j'éssaye de faire un UPDATE d'un champ d'une table SQL avec du code VB, je tombe sur une erreur :
 
"[Simba][SimbaEngine ODBC Driver]UPDATE F_DOCLIGNE SET MACHINE_ASSOCIÉE = 1FHFHF555<<???>> WHERE DL_NO = 2"
 
Le code VB que j'utilise pour faire la requête :
 

Code :
  1. strsql = "UPDATE F_DOCLIGNE SET MACHINE_ASSOCIÉE = " & machine & " WHERE DL_NO = 2"
  2. MsgBox(strsql)
  3. dbconnect2.Execute(strsql)


 
machine est une variable de type string qui contient dans l'exemple  "1FHFHF555" et MsgBox(strsql) m'affiche la bonne string : "UPDATE F_DOCLIGNE SET MACHINE_ASSOCIÉE = 1FHFHF555 WHERE DL_NO = 2"
 
Savez-vous d'oû peut provenir cette erreur svp ?


Message édité par greg360 le 22-10-2010 à 10:31:31

---------------
Greg
Reply

Marsh Posté le 22-10-2010 à 09:35:44   

Reply

Marsh Posté le 22-10-2010 à 09:48:02    

ben a priori il te renvoi ta requête, ce qui est normale  
je fait pas de vb mais je pense qu'il faut que tu traite ta requête
la pour moi tu ne fait qu'afficher ta requête  
dans ta message box je suppose qu’apparait donc  
[Simba][SimbaEngine ODBC Driver]UPDATE F_DOCLIGNE SET MACHINE_ASSOCIÉE = 1FHFHF555<<???>> WHERE DL_NO = 2
 
apparemment il te donne sont id et le résultat est bon a priori  
pour moi je vois pas d'erreur mais comme je dis je ne fait pas de vb...

Reply

Marsh Posté le 22-10-2010 à 09:58:04    

Une chaine de caractères ça se met entre quotes, en sql.
Et si possible on utilise des requêtes paramétrées au lieu de construire la requête sous forme de chaine de caractères en insérant directement des variables.


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 22-10-2010 à 10:28:10    

@fangstergangsta : La MsgBox me renvoie "UPDATE F_DOCLIGNE SET MACHINE_ASSOCIÉE = 1FHFHF555 WHERE DL_NO = 2" car je lui demande de m'afficher le contenu de la variable strsql. Le message "[Simba][SimbaEngine ODBC Driver]UPDATE F_DOCLIGNE SET MACHINE_ASSOCIÉE = 1FHFHF555<<???>> WHERE DL_NO = 2" apparait quand j'éxécute mon programme.
 
@ skeye : en vb, la single quote commente le texte qui suit, dont je suis obligé d'utiliser les doubles quotes pour assigner la valeur à strsql. Qu'entends-tu par "requêtes paramétrées" ?


---------------
Greg
Reply

Marsh Posté le 22-10-2010 à 10:30:57    

greg360 a écrit :

@ skeye : en vb, la single quote commente le texte qui suit, dont je suis obligé d'utiliser les doubles quotes pour assigner la valeur à strsql.

 

strsql = "UPDATE F_DOCLIGNE SET MACHINE_ASSOCIÉE = '" & machine & "' WHERE DL_NO = 2"

 
greg360 a écrit :

Qu'entends-tu par "requêtes paramétrées" ?

 

http://www.google.fr/search?aq=f&s [...] 9aa0bd6296


Message édité par skeye le 22-10-2010 à 10:31:13

---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 22-10-2010 à 10:31:16    

Au temps pour moi, ça fonctionne parfaitement avec des single quotes comme suit :

Code :
  1. UPDATE F_DOCLIGNE SET MACHINE_ASSOCIÉE = '" & machine & "' WHERE DL_NO = 2


---------------
Greg
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed