AIR SQLite IN表达式无法正常工作

时间:2010-03-14 21:40:59

标签: flex actionscript-3 air

我在SQLite for Adob​​e AIR的SQL语句中遇到了表达式问题

基本上我有这个

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

如果我运行上面的代码它可以工作,当id为19和20

时更新状态

但如果我将id列表作为参数传递给

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

它给了我和错误,说不能将文本值转换为数值,这是有意义的,因为我传递和字符串,但IN表达式应相应地转换它,就像我直接传递列表值时一样,为什么在其他方面没有工作,感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

不确定,但我认为问题是你的@ids参数在使用它时应该是一个数组。尝试

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