Câu hỏi này và câu trả lời đã chọn hữu ích cho tôi để tìm hiểu cách kiểm tra bản ghi đơn giản và nhanh chóng. Tuy nhiên, tôi đã thấy nhiều nơi khuyên bạn không nên sử dụng rawQuery
vì khả năng tiêm SQL. (Ví dụ, rawQuery Vs. database.query)
Vì vậy, đây là những gì tôi đã quyết định về:
public boolean Exists(String searchItem) {
String[] columns = { COLUMN_NAME };
String selection = COLUMN_NAME + " =?";
String[] selectionArgs = { searchItem };
String limit = "1";
Cursor cursor = db.query(TABLE_NAME, columns, selection, selectionArgs, null, null, null, limit);
boolean exists = (cursor.getCount() > 0);
cursor.close();
return exists;
}
Tôi không biết nếu điều này là nhanh như câu trả lời được lựa chọn hay không, nhưng sau khi nghiên cứu này nó có vẻ phù hợp cho các quy ước Android được đề xuất nhiều hơn.
Cập nhật
bây giờ tôi khuyên @ câu trả lời Yuku, nhưng tôi sẽ không xóa tôi nhưng vì tôi vẫn muốn để hướng dẫn mọi người đi từ việc sử dụng các truy vấn liệu.
Thanh toán câu trả lời của tôi tại đây: http://stackoverflow.com/questions/27597922/android-sqlite-check-if-row-exists-in-table/43849296#43849296 –