这是我查询我的android数据库的代码。
int lastID = -1;
String selectQuery = "SELECT * FROM " + TABLE_MAIN + " WHERE " + KEY_ID + " > " + lastID;
Log.i(LOG, selectQuery);
SQLiteDatabase db = this.getReadableDatabase();
Cursor c = db.rawQuery(selectQuery, null);
if (c.moveToFirst())
{
...
}
else
{
return null;
}
由于某种原因每次运行(我已经调试过它),它总是属于if语句的else,我不知道为什么。这让我相信我的查询错了,但我看不出它是怎么回事。我知道表名和列名是正确的,因为它是一个全局定义的变量。有人能发现我的错误吗?谢谢
答案 0 :(得分:1)
测试您的选择
String selectQuery = "SELECT * FROM " + TABLE_MAIN + " WHERE " + KEY_ID + " > " + "'" + lastID + "'";
某些设备(在某些设备中发生这种情况)sqlite整数仅适用于&gt; 1没有简单的引号,但数字<= 0需要简单的引号。为什么?我不知道。