我正在尝试从我的SQLite表中获取数据,我正在运行此查询:
SQLiteDatabase db = this.getWritableDatabase();
// int memberId = 1234
Cursor rs = db.rawQuery("select username, password from users where memberId = ? limit 1", new String[]{String.valueOf(memberId)});
System.err.println("Rows: " + rs.getCount());
输出为Rows: 0
但是当我运行这个查询时:
Cursor rs = db.rawQuery("select username, password, memberId from users limit 1", new String[]{});
rs.moveToFirst();
System.err.println(rs.getString(0) + ":" + rs.getString(1) + ":" + rs.getString(2));
我得到username:xxxx:1234
为什么我添加一个where
条款会破坏?
答案 0 :(得分:1)
正如@Ryan Naddy指出的那样 - 第一部分和第二部分之间的区别在于你调用“moveToFirst()” - 你需要这样做,因为光标位于第一个条目之前。
请参阅此article。