Tarihi saklamak için bir veritabanı kullanıyorum ve hangi anahtarın nerede verildiğine bağlı olarak tek bir sütunun döndürülmesini istiyorum. Ben veritabanında bir seri kullanırsanızİmlecin sonuçları olup olmadığını kontrol edin
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;
}
Bu kod çalıştığı ama veritabanında değil bir seri kullanıyorum zaman bana bir kuvvet yakın verir!
diyor:
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
Benim soru yani: sonuç varsa nasıl kontrol edebilirim? veya verilen dizinin veritabanında bulunan bir seri olup olmadığını kontrol etmem gerekiyor mu?
boolean isEmpty = cursor.getCount() < 1;
afaik istenen koşullar, sadece boş İmleç dönmek hiçbir satır olduğunda İmleç asla null döndürür: İmleç unsurları varsa
İmleç satır içermiyor, boş ama yukarıdaki testler hala başarısız oluyor, neden bu? Başka çek var mı? Bu gerçekten şaşırtıcı. – Namratha
Not: Bu, imleci ilk konuma ayarlamanın yan etkisine sahiptir. Belirli bir konuma başka bir işleve taşınmış bir imleç nesnesini geçirdikten sonra bir soruna neden olabilir ve sonra hala bu konumda olması beklenir :) –