2010-03-14 25 views
1
我在使用SQLite中为Adobe AIR在我的SQL语句的表达有问题

表达AIR SQLite的在不工作

基本上我有这个

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

如果我运行上面的代码它的工作原理,更新状态时的ID是19和20

,但如果我通过了IDS列表,这样

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

它给我和错误,说不能将文本值转换为数值,这是有道理的,因为我传递和字符串,但IN表达式应该相应地转换它,就像它直接传递列表值时,它为什么是不以另一种方式工作,感谢您的任何帮助!

回答

0

不知道,但我认为问题是你的@ids参数应该是一个数组,当这样使用它。尝试

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