Android Sqlite 没有结果

标签 android sqlite

你认为我的问题是什么。

我正在查询 sqlite 数据库。 此代码不会给出任何结果。

String sql = " select _id from MYTABLE where  _id = ?  ";
  Cursor cur = mDb.rawQuery(sql, new String[] {"5653"}) ;

但是如果我执行不带参数的查询,如下所示:

String sql = " select _id from MYTABLE where  _id = 5653  ";
  Cursor cur = mDb.rawQuery(sql, null) ;

按预期返回一行。

非常感谢。

最佳答案

发生这种情况是因为这些值被绑定(bind)为字符串,并且该列是(我猜测)一个 int。所以 where 子句最终会变成

where _id = "5653"

来自选择参数的 rawQuery javadoc -

You may include ?s in where clause in the query, which will be replaced by the values from selectionArgs. The values will be bound as Strings.

关于Android Sqlite 没有结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14915050/

相关文章:

Android AppCompat v21 提供SwitchCompat 不提供SwitchCompatPreference

android - 防止 SQLite 数据库中的数据重复

android - 如何让我的 SQLite 数据库井井有条?安卓

php - PDO 将数据库类型更改为 SQLITE 会引发错误

android - 我怎样才能得到这种格式的 TimePicker 的时间 -> "08:00:00"?

android - Android 如何解释 SPI 接收到的输入

android - 如何在布局中获得方形背景

php - 按标签搜索引擎

php - Symfony3 演示项目不工作 : PDO Exception Could not find driver (sqlite case)

php - HTML 没有从 SQL 数据库获取数据