Эй, у меня тут проблема.
Я пытаюсь получить дату из базы данных на основе даты, переданной методу, и она возвращает значение.
Проблема в том, что, когда я пытаюсь передать переменную, которая получает дату, метод, который выбирает данные из БД, ничего не возвращает.(и я печатаю переменную даты на LogCat, и все в порядке, значение даты правильное), но если я передаю строковое значение, подобное этому ("1/01/1111"), оно возвращается правильно.
здесьэто метод действия, который получает значение и устанавливает текст.
public void setBasicContent() {
date = (mMonth + 1) + "/" + mDay + "/" + mYear + " ";
hpdData = this.hpd.selectDuration(date);
mDateDisplay.setText(hpdData);
}
А вот метод selectDuration (), который выбирает данные из БД на основе параметра даты.
Ах, когда я передаю переменную дату в активности, код не достигает области if(cursor.moveToFirst())
.Но я не знаю почему, потому что значение переменной совершенно правильно точно так же, как нормальная строка.
public String selectDuration(String date) {
String duration = "";
Integer value = 0;
String returnment = "";
Log.i(TAG, "date to select: " + date);
Cursor cursor = this.db.query(TABLE_NAME, new String[] { "duration" },
"date = ?", new String[] { date }, null, null, null);
if (cursor.moveToFirst()) {
do {
Log.i("SELECTDURATION", "inside cursor.moveToFirst()");
duration = cursor.getString(0);
value += Integer.parseInt(duration);
} while (cursor.moveToNext());
returnment = Integer.toString(value);
}
if (cursor != null && !cursor.isClosed()) {
cursor.close();
}
Log.i(TAG, "valor do returnment: " + returnment);
return returnment;
}