J'ai trouvé quelque chose de bizarre dans mon application. J'ai créé une table avec une colonne nommée type
qui doit stocker des entiers :
db.execSQL("CREATE TABLE " + CellColumns.TABLE + " ("
+ CellColumns._ID + " INTEGER PRIMARY KEY,"
+ CellColumns.TYPE + " INTEGER," // <-- this
+ CellColumns.CELL_ID + " INTEGER,"
+ CellColumns.CITY_ID + " INTEGER,"
+ CellColumns.LOAD + " INTEGER,"
+ CellColumns.ORIENTATION + " INTEGER);");
Lecture :
String type = c.getString(c.getColumnIndex(CellColumns.TYPE));
Mais d'une manière ou d'une autre, je stocke toujours des chaînes de caractères dans cette colonne sans aucun problème (il semble que j'ai oublié que cette colonne était destinée aux entiers). La lecture des chaînes de caractères avec une requête fonctionne également. Ce "type cast" dynamique d'une colonne est-il une caractéristique de sqlite ?