Tôi đang cố gắng để cập nhật bảng cơ sở dữ liệu của tôi với đoạn mã sau:getWritableDatabase gọi đệ quy
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
String query = "ALTER TABLE names ADD COLUMN hidden integer default 0";
dbHelper.getWritableDatabase().rawQuery(query, null);
}
Tuy nhiên, khi tôi khởi động ứng dụng và nó cố gắng để nâng cấp cơ sở dữ liệu tôi có được ngoại lệ sau đây:
...Caused by: java.lang.IllegalStateException: getWritableDatabase called recursively
Có ai biết cách tôi có thể giải quyết vấn đề này và chính xác nguyên nhân gây ra sự cố này không?
Cảm ơn
đây không phải là nơi duy nhất mà đoạn mã này được gọi là nó? – JoxTraex
Có, đây là nơi duy nhất mã được gọi. Tôi đặt một tuyên bố đăng nhập trong chức năng là tốt và nó chỉ được gọi là một lần. – Nick
Sau đó thực hiện kiểm tra nếu phiên bản cũ là
JoxTraex