我想刪除我的Adobe AIR應用程序(運行時2.5)中的sqlite表中的多行。如何在Adobe AIR中刪除多行(使用命名參數)
下面是聲明,用「IN」操作符:
"DELETE FROM mylist WHERE tdId IN (tdId1, tdId2, tdId3, ...)";
凡tdId1,tdId2等將在運行時根據其行(S)的用戶選擇刪除確定。用戶可以刪除任意數量的行。
我已經試過類似:
//delete statement text
"DELETE FROM mylist WHERE tdId IN :tdId";
//delete statement parameters: take 1.
//Got "argument error: near ':tdId': syntax error"
deleteStmt.parameters[":tdId"] = "(26, 32)";
//delete statement parameters: take 2.
//Also got "argument error: near ':tdId': syntax error"
var arr:Array = [26, 32];
deleteStmt.parameters[":tdId"] = arr;
我如何去刪除多行?
[編輯]所以它看起來像前面提到的帶有參數[::tdId「]的緩存語句在刪除多行時不起作用。當試圖在異步模式下多次使用delete語句,在隊列中的第一個行被刪除後,閃存引發以下錯誤:
"Error #3110: Operation cannot be performed while SQLStatement.executing is true."
這似乎太麻煩鏈這些刪除了回電話。所以我想我正在使用我的最後手段:在運行時構建SQL。結論:緩存語句不能用於這種情況...
作爲最後的手段,你可以格式查詢字符串與運行時的所有這些id。 – alxx 2011-01-31 11:15:02