【问题标题】:How to pass two or more selection argument in query method android studio sqlite如何在查询方法android studio sqlite中传递两个或多个选择参数
【发布时间】:2015-12-16 19:40:03
【问题描述】:

我是 Android Studio 和 android 开发的新手,我在使用光标将多个参数传递到 sqlite 时遇到问题 我有以下内容:

Cursor cursor = DB.rawQuery("select _id, BookingType as bookingType from " + table + " where " + SqLiteTableData.TableStructure.KEY_BOOKING_DATE+" = ?  AND  " + SqLiteTableData.TableStructure.KEY_BOOKING_TIME+ " = ? " , new String[]{a, b });

在调试器中显示如下:

SQLiteDirectCursorDriver: select _id, BookingType as bookingType from Bookings where BookingDate = ?  AND  BookingTime = ?

参数未传递

我已经为此花费了很长时间,并查看了其他帖子,例如 How to pass two or more selection argument in "query" method

android sqlite query with multiple where

但无法让它工作

任何帮助表示赞赏

【问题讨论】:

    标签: android sqlite android-sqlite


    【解决方案1】:

    您的代码是正确的。参数传递正确。

    调试器不显示参数值,因为它们从未合并到 SQL 命令 text 中。数据库在稍后阶段处理参数。

    【讨论】:

    • 嗨@CL 谢谢,不知道为什么没有返回记录:(
    【解决方案2】:

    我建议您可以使用 query 函数代替 rawQuery,因为它很容易处理。

    在您的情况下,您的查询功能是:

        Cursor cursor = DB.query(table, "_id, BookingType as bookingType", SqLiteTableData.TableStructure.KEY_BOOKING_DATE+"= ? AND"SqLiteTableData.TableStructure.KEY_BOOKING_TIME+"= ?", new String[]{a,b},null, null);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-09-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多