J'utilise une base de données pour stocker des dates et je veux qu'une seule colonne soit retournée en fonction de l'identifiant donné dans la clause where.
public String getPmax(String serial) {
String[] columns = new String[]{KEY_SERIAL, KEY_PMAX};
Cursor c = ourDatabase.query(DATABASE_TABLE, columns, "serial = " + serial,
null, null, null, null);
String result = "nothing found";
if(c != null) {
int iPmax = c.getColumnIndex(KEY_PMAX);
c.moveToFirst();
result = c.getString(iPmax);
}
return result;
}
Ce code fonctionne si j'utilise une série qui est dans la base de données mais il me donne une fermeture forcée quand j'utilise une série qui n'est pas dans la base de données !
il est dit :
04-11 16:31:19.423: E/AndroidRuntime(21226): java.lang.RuntimeException: Unable to start activity ComponentInfo{nl.janjanus.solardetect/nl.janjanus.solardetect.DatabaseView}: android.database.sqlite.SQLiteException: no such column: g: , while compiling: SELECT serial, pmax FROM SolareCel WHERE serial = g
Ma question est donc la suivante : comment puis-je vérifier s'il y a un résultat ? ou dois-je vérifier si le numéro de série donné est un numéro de série qui se trouve dans la base de données ?