Android - SQLite - ВЫБЕРИТЕ МЕЖДУ Дата1 И Дата2

Mac OS X

Android

Затмение с ADT

SQLiteI»

Я новичок в создании приложений для Android, и я много исследовал это, но яЯ никуда не деться. Мне нужно запросить мою базу данных SQLite, чтобы вернуть все строки между 2 датами. До сих пор я узнал из своего исследования, что в базе данных SQLite для Android нет столбца DateTime, и я должен сохранить его в виде текстового столбца. Но я думаю, что проблема заключается в попытке сравнить строки, но я могуне могу обойти это. Вот мой код:

DB = currentContext.openOrCreateDatabase(DBName, 0, null);
DB.execSQL("CREATE TABLE IF NOT EXISTS " + tableName + " (ID INTEGER PRIMARY KEY AUTOINCREMENT, Date VARCHAR(40), Hours INT(3));");

Я не получаю никаких ошибок, но я не возвращаю никаких результатов из моего RawQuery. Вот мой код:

Cursor c = newDB.rawQuery("select ID, Date, Hours from " + tableName + " where Date BETWEEN '" + date1 + " 00:00:00' AND '" + date2 + " 99:99:99'", null);

if (c != null ) {
  Log.d(TAG, "date1: "+date1);
  Log.d(TAG, "date2: "+date2);
  if  (c.moveToFirst()) {
     do {
        int id = c.getInt(c.getColumnIndex("ID"));
        String date1 = c.getString(c.getColumnIndex("Date"));
        int hours1 = c.getInt(c.getColumnIndex("Hours"));
        results.add(+ id + "    Date: " + date1 + "    Hours: " + hours1);
     }
         while (c.moveToNext());
      }
}

Я также попробовал следующее утверждение, но они также не дают результатов:

Cursor c = newDB.rawQuery("select ID, Date, Hours from " + tableName + " where Date BETWEEN " + Date(date1) + " AND " + Date(date2) + "", null);

Я получил это утверждение из других ответов StackOverflow, но не могу найти никакой документации по методу date (). Я не уверен, устарел ли он сейчас, но я получаю сообщение об ошибке "Метод Date (String) не определен для типа (имя класса) " и я попытался импортировать некоторые библиотеки JAVA.

Кто-нибудь знает правильный способ создания запроса rawData (), который будет получать строки между выбранными датами?

Дополнительная информация, это мои операторы INSERT и формат даты, который входит в базу данных:

newDB.execSQL("INSERT INTO " + tableName + " (Date, Hours) Values ('" + ph_date + "'," + hours + ");");
String date1 = "12/1/13"
String date2 = "25/1/13"

Ответы на вопрос(4)

Ваш ответ на вопрос