【发布时间】:2017-05-03 19:41:08
【问题描述】:
我在 Android 中查询我的 SQLITE 数据库时遇到问题。我有一个名为“重置”的表,其中包含一些值。目前我只有一个条目。
reset_timestamp | interval
1479442048 | 5
这是我试图执行的查询。但是,当我调用 cursor.getCount() 时,它返回零结果。我要执行的查询是:
SELECT reset_timestamp FROM resets WHERE (reset_timestamp=1479442048);
我真的不想使用 rawQuery()。我想使用查询()。这是我的查询语句。
SQLiteDatabase db = new PowerDbHelper(this).getWritableDatabase();
String[] resetsQueryColumns = {"reset_timestamp"};
String[] resetsQuerySelectArgs = {"1479442048"};
Cursor cursor = db.query("resets", resetsQueryColumns, "reset_timestamp=?",
resetsQuerySelectArgs, null, null, null);
但是,getCount() 会返回 0。另一方面,这工作正常并返回我的结果
cursor = db.rawQuery("select reset_timestamp from resets where (reset_timestamp=1479442048)", null);
并且 getCount() 返回 1,这是我想要的。在 '?' 周围加上引号给我
java.lang.IllegalArgumentException: Cannot bind argument at index 1 because the index is out of range
我对 query() 做错了什么?
【问题讨论】:
-
当我提到 getCount() 时,我指的是 cursor.getCount()。