2010-03-14 26 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);