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

Kesalahan Android SQLite:nomor variabel harus antara ?1 dan ?999

Baris ini:

db.update(LoginTable.TABLE_NAME, values, LoginTable.Cols.CONSUMER_ID + "=?" + userModel.consumer_no, null);

tidak benar.
Anda punya 2 pilihan.
Yang pertama adalah menggabungkan nilai yang diteruskan ke LoginTable.Cols.CONSUMER_ID seperti ini:

db.update(LoginTable.TABLE_NAME, values, LoginTable.Cols.CONSUMER_ID + " = '" + userModel.consumer_no + "'", null);

jika userModel.consumer_no adalah string, atau:

db.update(LoginTable.TABLE_NAME, values, LoginTable.Cols.CONSUMER_ID + " = " + userModel.consumer_no, null);

jika userModel.consumer_no adalah nilai bilangan bulat.
Pilihan ke-2 lebih baik dan lebih aman:

db.update(LoginTable.TABLE_NAME, values, LoginTable.Cols.CONSUMER_ID + " = ?", new String[] { String.valueOf(userModel.consumer_no) });

Anda dapat menghilangkan String.valueOf() jika userModel.consumer_no adalah sebuah string.

Kesalahan dalam kode Anda adalah Anda mencampuradukkan 2 cara di atas untuk meneruskan argumen userModel.consumer_no ke update() metode.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara membuat tabel menggunakan database sqlite di android?

  2. Disebabkan oleh:android.database.sqlite.SQLiteException:tidak ada tabel seperti itu:BOOK (kode 1 SQLITE_ERROR)

  3. Ruang Android - Cara mengatur ulang kunci utama tabel yang dibuat secara otomatis pada setiap aplikasi yang dijalankan

  4. Kembalikan Daftar Database di SQLite

  5. Dapatkan nilai bidang dengan Kursor