Att frågeparametrar bara kan vara strängar är ett hemskt designfel i Androids databas API.
Trots vad dokumentationen säger bör du bara använda parametrar för faktiska strängvärden; heltalsvärden kan säkert bäddas in direkt i SQL-strängen. (För blobbar måste du använda en funktion som accepterar ContentValues
.)
Observera att medan SQLite använder dynamisk typning, gör värden av olika typer inte det jämför lika i de flesta fall (SELECT 42='42';
returnerar 0
).Det finns vissa fall där SQLite gör konvertera automatiskt värden på grund av typaffinitet (i ditt fall skulle detta hända om du deklarerade id
kolumn som INTEGER
), men detta är ganska kontraintuitivt, så det bör inte förlitas på.