我在SQLite for Adobe 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表达式应相应地转换它,就像我直接传递列表值时一样,为什么在其他方面没有工作,感谢您的帮助!
答案 0 :(得分:0)
不确定,但我认为问题是你的@ids参数在使用它时应该是一个数组。尝试
updateStmt.parameters["@ids"] = new Array(19,20);