【发布时间】:2016-03-18 09:00:20
【问题描述】:
我正在尝试从数据库中获取一行。但它不是生成的查询。问号似乎仍然存在。我错过了什么?
public static User getSingleUser(String email,String password)
{
User user = new User();
SQLiteDatabase db = DatabaseManager.getInstance().openDatabase();
String selectQuery = " SELECT * FROM " + User.TABLE + " WHERE "
+ User.KEY_EMAIL + "=?"+ " AND " + User.KEY_PASSWORD
+ "=?" ;
Cursor cursor = db.rawQuery(selectQuery,new String[]{email,password},null);
if (cursor.moveToFirst()) {
do {
user.setId(cursor.getInt(cursor.getColumnIndex("UserId")));
user.setFirstname(cursor.getString(cursor.getColumnIndex("Firstname")));
user.setLastname(cursor.getString(cursor.getColumnIndex("Lastname")));
user.setEmail(cursor.getString(cursor.getColumnIndex("Email")));
user.setPassword(cursor.getString(cursor.getColumnIndex("Password")));
user.setIsActive(cursor.getInt(cursor.getColumnIndex("IsActive")));
} while (cursor.moveToNext());
}
return user;
}
}
【问题讨论】:
-
你得到了什么?
-
什么意思?光标是空的吗?也许数据库表是空的?
-
selectQuery = SELECT * FROM User WHERE Email=?和密码=?在游标 mQuery 中是 SQLiteQuery: SELECT * FROM User WHERE Email=? AND 密码=?
-
你的问题到底是什么?你检查光标内容了吗?
-
查询中看不到参数