还有许多其他问题也有类似的问题,在经过这些问题之后,我一直未能理解为什么当我试图查询一个整数列时,它没有做任何过滤。
问题是:
String selectRoadsSQL = "SELECT ID, Lat, Lng, Active, DateCreated, DateLastUsed FROM roads WHERE Active = ?"
这是由这段代码执行的
Cursor cursor = db.rawQuery(selectRoadsSQL, new String[] { Integer.toString(status)});
while (cursor.moveToNext()) {
String active = cursor.getString(cursor.getColumnIndex(DataTables.Roads.Active));
Log.e("Test", active);
}
地位
是传递的整数,它可以是0或1。在这个场景中,我将通过1。
不管我通过0还是1,我总是返回所有行。实际的数据库本身显示一些行的值为0,而另一些行的值为1。
即使我换了?使查询包含实际的整数值,它仍然返回所有行。
我只希望在活动列中以“1”返回结果。
我完全被难住了。谢谢您。