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

Bagaimana cara mengetahui pengguna ada di Database Sqlite menggunakan android?

Masalah dengan kode Anda tidak bahwa Anda meneruskan argumen sebagai Integer (tidak), tetapi argumen tersebut tidak dikenali sebagai TEXT literal karena tidak diapit oleh tanda kutip tunggal, jadi SQLite menganggapnya sebagai nama kolom.

Cara yang disarankan untuk meneruskan parameter ke rawQuery() apakah ini:

fun userPresent (user: String, pass: String): Boolean {
    val db = writableDatabase 
    val query = "select * from $TABLE_NAME where username = ? and password = ?"
    val cursor = db.rawQuery(query, arrayOf(user, pass))
    val result = cursor.count > 0
    cursor.close()
    db.close()
    return result
}

Placeholder ? akan mengambil nilainya dari item yang sesuai dari larik yang diteruskan sebagai argumen ke-2 dari rawQuery() dan Anda tidak perlu menggabungkan tanda kutip tunggal sehingga Anda menghindari risiko injeksi sql.
Setelah itu dan sebelum pernyataan kembali, Anda harus menutup kedua Cursor dan db objek.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Penyetelan kinerja SQLite

  2. Simulasikan ORDER BY di SQLite UPDATE untuk menangani batasan keunikan

  3. Izin Pengguna SQLite

  4. bagaimana cara mengubah warna Bar di MPandroidCharts berdasarkan beberapa nilai individual yang disimpan dalam sqlite?

  5. SQL:Urutkan berdasarkan prioritas, tetapi letakkan 0 terakhir