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"