2010-03-14 8 views
1

Je vais avoir un problème avec une expression dans ma déclaration SQL dans SQLite pour Adobe AIRAIR SQLite expression ne fonctionne pas

essentiellement j'ai ce

sql = "UPDATE uniforms SET [email protected] WHERE customerId IN(19,20)"; 
updateStmt.parameters["@status"] = args[1]; 
updateStmt.execute(); 

si je lance le code ci-dessus cela fonctionne , la mise à jour de l'état lorsque l'ID sont 19 et 20

mais si je passe la liste des ids en tant que paramètre comme celui-ci

sql = "UPDATE uniforms SET [email protected] WHERE customerId IN(@ids)"; 
updateStmt.parameters["@status"] = args[1]; 
updateStmt.parameters["@ids"] = "19,20"; 
updateStmt.execute(); 

il me donne et erreur, disant ne pouvait pas convertir la valeur du texte en valeur numérique, ce qui est logique parce que je passe et la chaîne, mais l'expression IN devrait le convertir en conséquence, comme quand je passe directement les valeurs de la liste, ne fonctionne pas dans l'autre sens, merci pour toute aide!

Répondre

0

Je ne sais pas, mais je pense que le problème est que votre paramètre @ids doit être un tableau lorsque vous l'utilisez comme ceci. Essayez

updateStmt.parameters["@ids"] = new Array(19,20); 
Questions connexes