SQLite
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> SQLite

Làm thế nào để tìm ra người dùng có mặt trong Cơ sở dữ liệu Sqlite bằng cách sử dụng Android?

Vấn đề với mã của bạn là không rằng bạn chuyển các đối số dưới dạng Số nguyên (bạn thì không), nhưng các đối số đó không được nhận dạng là TEXT các chữ bởi vì chúng không được đặt trong dấu ngoặc kép, vì vậy SQLite nghĩ rằng chúng là tên cột.

Cách đề xuất để chuyển các tham số tới rawQuery() đây có phải là:

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
}

Các trình giữ chỗ ? sẽ lấy các giá trị của chúng từ các mục tương ứng của mảng được truyền làm đối số thứ 2 của rawQuery() và bạn không cần phải nối các dấu nháy đơn lẻ để tránh rủi ro bị chèn sql.
Sau đó và trước câu lệnh trả về, bạn phải đóng cả Cursordb đối tượng.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ghi nhật ký thời gian truy vấn trong SQLite trên Android

  2. SQLite là gì

  3. SQLite không có cột như vậy

  4. Cách đính kèm tệp .db với một android .apk khác

  5. SQLite AVG