【发布时间】:2017-11-16 00:42:24
【问题描述】:
我希望通过_id删除一行,我也希望使用Anko通过where args删除多行。
我在https://github.com/Kotlin/anko/wiki/Anko-SQLite#updating-values看过文章,但没有结果,你能帮帮我吗?
【问题讨论】:
我希望通过_id删除一行,我也希望使用Anko通过where args删除多行。
我在https://github.com/Kotlin/anko/wiki/Anko-SQLite#updating-values看过文章,但没有结果,你能帮帮我吗?
【问题讨论】:
首先,使用更新方法是错误的。删除不等于更新。 SQL 中的更新意味着更改一行中一个或多个字段的值。你要找的是delete method
dbHelper.delete(TABLE_NAME, whereClause="Your actual where statement here", args)
where 语句的语法与 SQLite 中的常规 where 子句略有不同。这是 update 方法的一个例外,因为它有一个通过构建器用于“常规”SQL 的方法。但 delete 方法没有这个,所以你必须使用 Anko 语法。
基本上你可以将它用作 where 子句:
"someRow = {someRowData} AND differentRow = {otherData}"
在论据中:
"someRowData" to "whatever value you want",
"otherData" to 1234
我不完全确定AND 关键字是否有效,语法没有完整记录。我认为应该是因为没有其他记录。一般的 SQLite 语法应该是有效的,只有参数替换(为了避免我假设的 SQL 注入)不同
【讨论】: