cách thay đổi logic này để hoạt động với hơn 170 hàng.Android SQLite bị lỗi sau 170 hàng
// Getting All test
public List<Test> getAllTests(String str) {
List<Test> testList = new ArrayList<Test>();
// Select All Query
String selectQuery = "SELECT * FROM " + TABLE_TESTS;
SQLiteDatabase db = this.getWritableDatabase();
Cursor cursor = db.rawQuery(selectQuery, null);
// looping through all rows and adding to list
if (cursor.moveToFirst()) {
do {
//select rows by input string
if(cursor.getString(1).equals(str)){
Test test = new Test();
test.setId(Integer.parseInt(cursor.getString(0)));
test.setTest(cursor.getString(1));
test .setResult(Integer.parseInt(cursor.getString(2)));
// Adding test to list
testList.add(test);
}
} while (cursor.moveToNext());
}
//close database
db.close();
//return list data
return testList;
}
Tôi muốn chọn tất cả các hàng theo chuỗi đầu vào. Nó lý công việc một cách hoàn hảo với 150 hàng nhưng sau khi 160 công trình chậm và vụ tai nạn trên 170 hàng
Tại sao don Bạn không sử dụng mệnh đề WHERE trong yêu cầu của bạn? –
Tôi thử với Cursor cursor = db.rawQuery ("SELECT * FROM" + TABLE_TESTS + "WHERE name =" + str, null); nhưng đã bị rơi –
Tai nạn bạn đang gặp phải là gì? Từ mô tả "sau 160 làm việc từ từ và sự cố trên 170 hàng" sẽ đoán ứng dụng không phản hồi và trong trường hợp đó, sự cố có thể ở nơi khác hoặc chỉ là bạn đang gọi mã cơ sở dữ liệu trên chuỗi giao diện người dùng. – laalto