Tham số truy vấn chỉ có thể là chuỗi là một lỗi thiết kế khủng khiếp trong API cơ sở dữ liệu Android.
Mặc dù tài liệu nói gì, bạn chỉ nên sử dụng các tham số cho các giá trị chuỗi thực tế; các giá trị số nguyên có thể được nhúng trực tiếp vào chuỗi SQL một cách an toàn. (Đối với các đốm màu, bạn phải sử dụng một hàm chấp nhận ContentValues
.)
Xin lưu ý rằng trong khi SQLite sử dụng kiểu nhập động, các giá trị của các kiểu khác nhau không so sánh bằng nhau trong hầu hết các trường hợp (SELECT 42='42';
trả về 0
). Có một số trường hợp SQLite không tự động chuyển đổi các giá trị do sở thích của loại (trong trường hợp của bạn, điều này sẽ xảy ra nếu bạn khai báo id
cột dưới dạng INTEGER
), nhưng điều này hơi phản trực giác, vì vậy không nên dựa vào nó.