使用上下文操作栏选择列表视图中的多个项目以删除数据库中的行时工作正常。我正在使用for循环,这个循环,我每次调用Asynctask类来一次删除一个项目。因此,当我想要删除10个项目时,Asynctask被调用10次..这很好。
但是我告诉自己,为什么不把整个for循环放在asynctask而不是多次调用..所以,这也有效,但是在删除ÖNE项目时。删除多个项目会导致错误 可能是什么问题呢?
Asynctask:
select DateKey,ID,
case Direction
when 'S' then [Sessions] as S_Sessions -- Incorrect syntax near the keyword 'as'.
else [Sessions] as R_Sessions
end
from #MyTable
删除功能
inner class DeleteData : AsyncTask<TreeMap<Int, Long>, Void, Cursor>() {
override fun doInBackground(vararg params: TreeMap<Int, Long>): Cursor {
val data = params[0]
for ((position, id) in data) {
dbManager.deleteData(arrayOf(id.toString()))
}
return dbManager.queryDataOrRaw()
}
override fun onPostExecute(result: Cursor) {
cursor = result
ctAdapter?.changeCursor(cursor)
}
}
Errör:
fun deleteData(selectionArgs: Array<String>?, whereClause:String= colID + " LIKE ?"){
sqlDB?.delete(dbTable, whereClause, selectionArgs)
}