SQLite
 sql >> Teknologi Basis Data >  >> RDS >> SQLite

Kapan saya harus menutup kursor dan db?

Haruskah saya menutup kursor setelah setiap kali digunakan atau dapatkah saya tetap membukanya sampai tampilannya rusak?

Bergantung. Jika hasil kursor tidak akan berubah sementara itu (misalnya koneksi jarak jauh memodifikasi DB), maka tidak apa-apa. Jangan lupa untuk menggunakan CursorLoader agar Android mengelola kursor Anda secara otomatis (mis. menutup kursor jika aplikasi Anda mogok).

Dan sama untuk database, dapatkah dibuka setelah aktivitas yang menyimpan tampilan ini dibuat dan ditutup saat aktivitas dimusnahkan?

Ya, Anda dapat membuka di onResume() dan tutup di onPause() callback, atau ketika Anda tahu database Anda tidak akan ditanyakan lagi.

Saya terus-menerus menerima kesalahan 'close() tidak pernah secara eksplisit dipanggil pada database...' ketika saya melakukan seperti yang dijelaskan di atas.

Ini normal hanya jika aplikasi Anda mogok. Seharusnya tidak terjadi jika Anda melakukannya seperti yang saya katakan di atas.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. GALAT:Tidak dapat membaca baris 0, col -1 dari CursorWindow. Pastikan Kursor diinisialisasi dengan benar sebelum mengakses data

  2. Bagaimana SQLite Nullif() Bekerja

  3. Kamar - Menggunakan SQLite eksternal serta DB internal

  4. Cara Menjatuhkan Kunci Asing di SQLite

  5. android.database.sqlite.SQLiteCantOpenDatabaseException:kesalahan tidak diketahui (kode 14):Tidak dapat membuka database