public String getContact(String searchName) {
SQLiteDatabase db = this.getReadableDatabase();
String[] args = { searchName };
Cursor cursor = db.rawQuery("SELECT * FROM " + TABLE_MOVIES
+ " WHERE name =? ", args);
String iName = null, iDiretor = null, iGenre = null;
cursor.moveToFirst();
while (!cursor.isAfterLast()) {
iName = cursor.getString(cursor.getColumnIndex(KEY_NAME));
iDiretor = cursor.getString(cursor.getColumnIndex(KEY_DIRECTOR));
iGenre = cursor.getString(cursor.getColumnIndex(KEY_GENRE));
cursor.moveToNext();
}
cursor.close();
iName 变量工作正常,但其他两个变量返回空值。有帮助吗?
最佳答案
使用 SQLiteDatabase
查询方法而不是 rawQuery
以获得最佳结果。
db.query(TABLE_MOVIES, null, "name = ?", args, null);
这是首选,因为 rawQuery
很容易搞砸并且不能防止 SQL 注入(inject)。
关于android - 游标返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11633964/