【问题标题】:How to delete rows in SQLite with multiple by where args using Anko?如何使用 Anko 通过 where args 删除 SQLite 中的多个行?
【发布时间】:2017-11-16 00:42:24
【问题描述】:

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

我在https://github.com/Kotlin/anko/wiki/Anko-SQLite#updating-values看过文章,但没有结果,你能帮帮我吗?

【问题讨论】:

    标签: android kotlin anko


    【解决方案1】:

    首先,使用更新方法是错误的。删除不等于更新。 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 注入)不同

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-10-03
      • 2012-12-30
      • 2021-05-30
      • 1970-01-01
      • 1970-01-01
      • 2012-08-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多