データベースを使用して日付を保存しており、where 句で指定された ID に基づいて返される単一の列が必要です。
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;
}
このコードは、データベースにあるシリアルを使用している場合に機能しますが、データベースにないシリアルを使用している場合は強制終了します!
それは言います:
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
私の質問は次のとおりです。結果があるかどうかを確認するにはどうすればよいですか? または、指定されたシリアルがデータベースにあるシリアルかどうかを確認する必要がありますか?