tôi có một bảng groupInfo khác có cùng tên cơ sở dữ liệu, vì vậy đó là vấn đề ??
Đó là một vấn đề. Đây là những gì sẽ xảy ra:
-
Người trợ giúp mở sqlite đầu tiên với cùng một tệp cơ sở dữ liệu được truy cập. Nếu tệp cơ sở dữ liệu không tồn tại,
onCreate()
gọi lại được gọi để bạn có thể thiết lập tệp cơ sở dữ liệu. -
Người trợ giúp mở sqlite khác có cùng tệp cơ sở dữ liệu được truy cập. Tệp cơ sở dữ liệu với tên đã cho đã tồn tại và là phiên bản chính xác, vì vậy không có
onCreate()
hoặconUpgrade()
được gọi. Thay vào đó, tệp chỉ được mở.
Giải pháp:Chỉ sử dụng một trình trợ giúp mở sqlite cho mỗi tệp cơ sở dữ liệu. Đặt cả hai câu lệnh tạo của bảng trong cùng một trình trợ giúp onCreate()
phương pháp.
Đồng thời gỡ cài đặt ứng dụng của bạn để tệp cơ sở dữ liệu cũ chỉ với bảng khác bị xóa.
Xem câu hỏi được liên kết Khi nào SQLiteOpenHelper onCreate () / onUpgrade () chạy? để tìm hiểu thêm về lệnh gọi lại vòng đời của trình trợ giúp mở sqlite.