クエリパラメータが文字列のみである可能性があることは、AndroidデータベースAPIの恐ろしい設計エラーです。
ドキュメントに記載されていることにもかかわらず、パラメータは実際の文字列値にのみ使用する必要があります。整数値は、SQL文字列に直接安全に直接埋め込むことができます。 (blobの場合、ContentValues
を受け入れる関数を使用する必要があります 。)
SQLiteは動的型付けを使用しますが、異なる型の値はしないことに注意してください。 ほとんどの場合、同等に比較します(SELECT 42='42';
0
を返します ).SQLiteがする場合があります タイプアフィニティにより値を自動的に変換します(この場合、これはid
を宣言した場合に発生します INTEGER
としての列 )ですが、これは直感に反するため、信頼するべきではありません。