如何使用Anko删除带有多个args的SQLite中的行?

时间:2017-11-16 00:42:24

标签: android kotlin anko

我希望通过_id删除一行,我希望删除使用Anko的args的多行。

我已在https://github.com/Kotlin/anko/wiki/Anko-SQLite#updating-values阅读了该文章,但我没有结果,你能帮助我吗?

1 个答案:

答案 0 :(得分:6)

首先,使用更新方法是错误的。删除与更新不同。在SQL中更新意味着更改行中一个或多个字段的值。您要找的是delete method

dbHelper.delete(TABLE_NAME, whereClause="Your actual where statement here", args)

where语句遵循与SQLite中常规where子句略有不同的语法。这是update方法的一个例外,因为它有一个通过构建器“常规”SQL的方法。但是删除方法没有这个,所以你必须使用Anko语法。

基本上你可以将它用作where子句:

"someRow = {someRowData} AND differentRow = {otherData}"

并在参数中:

"someRowData" to "whatever value you want",
"otherData" to 1234

我不完全确定AND关键字是否有效,语法没有完整记录。我认为它应该是因为没有其他记录。一般的SQLite语法应该是有效的,并且只有参数替换(以避免我假设的SQL注入)是不同的