У меня есть приложение, которое читает и записывает в SQLITE-базу данных.Нет данных в курсоре
public void insertkind(int id, String name, String geburtsdatum, String geschlecht){
long rowId = 1;
try{
SQLiteDatabase db = getWritableDatabase();
ContentValues cv = new ContentValues();
cv.put(NAME, name);
cv.put(GEBURTSDATUM, geburtsdatum);
cv.put(GESCHLECHT, geschlecht);
try{
rowId = db.insert(TABLE_NAME_KIND, null, cv);
}
catch(Exception e){
System.out.println("DES DERF MA NEEEEEEEEEEED SENG!!!!");
}
db.close();
}
catch (SQLiteException e){
Log.e(TAG, "insert()", e);
}
finally{
Log.d(TAG, "rowId");
}
}
С помощью следующего кода я хочу, чтобы выбрать данные из базы данных:
public Cursor select(){
SQLiteDatabase db = getReadableDatabase();
Cursor cursor = db.query(TABLE_NAME_KIND, new String[] {"_id", "name", "geburtsdatum", "geschlecht"},
"" + "", null, null, null, null);
System.out.println(cursor.getCount());
return cursor;
}
Я также использовал похожий код в другом приложении. Моя проблема заключается в том, что cursor.getCount()
равно 0, но при вставке данных исключений нет. name
, geburtsdatum
и geschlecht
все имеют некоторые значения.
Я не могу проверить базу данных с помощью adb, потому что она не работает на моем компьютере. В чем проблема?
Откуда вы знаете, что нет исключения при вставке? –
Добавьте журнал отладки, чтобы вы точно знали, что происходит, или выполните его с помощью отладчика. И не фильтруйте логарифм, вы можете пропустить что-то важное/ценное. –