Пожалуйста, посмотрите на этоЯ не понимаю, поведение этого оператора возврата
public String getDateAndTime(long rowid){
CustomSQLiteOpenHelper helper = new CustomSQLiteOpenHelper(context);
this.db = helper.getWritableDatabase();
Cursor cursor = db.
rawQuery("select created from testRecords where rowid = ?", new String[] { Long.toString(rowid) });
if (cursor != null)
{
cursor.moveToFirst();
String datandtime= null;
datandtime=cursor.getString(0);
db.close();
return datandtime;
}
db.close();
return null;
}
Теперь я obviopusly хватает коснуться важной:
если курсор не равно нулю, я бы е ожидать весь Metod вернуться datandtime
НО ЭТО НЕ БЫВАЕТ ТАК:
если дворняжка sor не является нулевым, выполнение продолжается и доходит до конца return null
возвращает нуль.
Пожалуйста, что мне здесь не хватает?
Пожалуйста, зачем закрывать ???
Вы уверены, что курсор на самом деле не нуль? Кроме того, вы выполняете 'dateandtime = cursor.getString (0);'. Вы уверены, что 'dateandtime' также не является нулевым? – Michael0x2a
Получить декларацию даты и времени строки вне if. В выражении if asign значение dateandtime = cursor.getString (0). Поставьте оператор return return dataandtime вне if (замените return null с возвратом dataandtime). – drgPP
datandtime также может быть пустым из строки datandtime = cursor.getString (0). Сначала проверьте это. Также вы уверены, что курсор не равен нулю? добавьте там код отладки, например system.out.println (курсор) – MihaiC