【问题标题】:Cursor SQL database query with multiple selectionArgs for each selection游标 SQL 数据库查询,每个选择都有多个 selectionArgs
【发布时间】:2019-03-21 19:12:27
【问题描述】:

我想查询具有特定参考号 + “0”或“3”的数据库。我下面的代码返回奇怪的结果。查询这个的正确方法是什么。

cursor = db.query(TABLE_PAPER, new String[] {KEY_PAPER_ID,

                KEY_PAPER_AMOUNT,
                KEY_PAPER_DATE,
                KEY_PAPER_REFERENCE,
                KEY_PAPER_PAID},KEY_PAPER_REFERENCE + "=?" + " AND " + KEY_PAPER_PAID + "=?" + " OR " + KEY_PAPER_PAID + "=?",
        new String[]{String.valueOf(rowId), "0", "3"},
        null, null, "date DESC");

【问题讨论】:

  • 什么是“奇怪的结果”?,你能详细说明一下或指定预期结果和观察到的结果吗?

标签: android sql android-cursor


【解决方案1】:

您说具体的参考编号+“1”或“3”。但是当您编写选择查询时,您在这里传递“0”而不是“1”

 cursor = db.query(TABLE_PAPER, new String[] {KEY_PAPER_ID,
            KEY_PAPER_AMOUNT,
            KEY_PAPER_DATE,
            KEY_PAPER_REFERENCE,
            KEY_PAPER_PAID},KEY_PAPER_REFERENCE + "=?" + " AND " + KEY_PAPER_PAID + "=?" + " OR " + KEY_PAPER_PAID + "=?",
    new String[]{String.valueOf(rowId), "1", "3"},
    null, null, "date DESC"); 

您应该在查询中传递“1”而不是“0”。

【讨论】:

  • 对不起,我已经编辑了帖子。它的意思是说“0”
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-12-15
  • 2012-11-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多