我有一个SQLite数据库,我有一个名为object_zone的表。该表有两列,类型为integer:object和zone。
如果我将数据库复制到我的计算机上,并使用以下命令查询:
SELECT object FROM object_zone WHERE zone = 791
它会返回几行。
但是,在我的Android手机上,如果我用以下方式查询:
Cursor cursor = database.query( "object_zone", new String[] {"object"}, "zone = ?", new String[] { Long.toString( zoneId )}, null, null, null);
如果zoneId = 791,则游标包含0行。我如何填写查询函数的用法?
答案 0 :(得分:1)
您是否在返回的游标上调用了cursor.moveToFirst()
?如果没有调用它,cursor.getCount()
可能会错误地返回0(或者可能是-1 ......)
我被绊了几次......
答案 1 :(得分:0)
这里的问题可能是对字符串的强制转换。您可以尝试使用在计算机上执行的相同sql的rawQuery方法吗?