Android - SQLite - WYBIERZ POMIĘDZY Date1 AND Date2

Mac OS X

Android

Zaćmienie z ADT

SQLite

Jestem nowicjuszem w tworzeniu aplikacji na Androida i intensywnie badałem to, ale nigdzie się nie da. Muszę wysłać zapytanie do bazy danych SQLite, aby zwrócić wszystkie wiersze między 2 datami. Jak dotąd dowiedziałem się z moich badań, że w bazie danych SQLite SQLite nie ma kolumny DateTime i muszę ją zapisać jako kolumnę tekstową. Ale myślę, że problem polega na próbie porównania Ciągów, ale nie mogę znaleźć sposobu na obejście tego. Oto mój kod:

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));");

Nie otrzymuję żadnych błędów, ale nie zwracam żadnych wyników z mojego RawQuery. Oto mój kod:

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());
      }
}

Wypróbowałem również następującą instrukcję, ale nie przynoszą one wyników:

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

Dostałem tę instrukcję od innych odpowiedzi StackOverflow, ale nie mogę znaleźć żadnej dokumentacji na temat metody date (). Nie jestem pewien, czy jest już przestarzały, ale pojawia się błąd mówiący, że „metoda Date (String) jest niezdefiniowana dla typu (nazwa_klasy)” i próbowałem zaimportować niektóre biblioteki JAVA.

Czy ktoś zna właściwy sposób tworzenia zapytania rawData (), które otrzyma wiersze między wybranymi datami?

Dalsze informacje, to są moje instrukcje INSERT i format daty, który wchodzi do bazy danych:

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

questionAnswers(4)

yourAnswerToTheQuestion