Я пытаюсь запросить таблицу SQLite для строки, которая имеет тот же день недели между временем начала и окончания времени следующим образом:SQLite запрос с несколькими аргументами
String whereClause = String.format("%s = '?' AND %s <= '?' %s > '?'",
Shift.PROP_DAY_OF_THE_WEEK, Shift.PROP_START_TIME,
Shift.PROP_END_TIME);
String[] whereargs = new String[] { String.valueOf(dow), time, time };
Cursor cursor = db.rawQuery(whereClause, whereargs);
Однако я получаю следующее Ошибка Logcat.
03-30 22:46:02.827: E/AndroidRuntime(11507): android.database.sqlite.SQLiteException: near "dayOfTheWeek": syntax error (code 1): , while compiling: dayOfTheWeek = '?' AND startTime <= '?' endTime > '?'
Я добавил одинарную цитату ('), чтобы окружить вопросительный знак (?). Он также не работает без единой цитаты. Я добавил их, поскольку заявление sql может быть чувствительным к цитированию или нет. Если я ошибаюсь, сообщите мне.
03-31 12: 24: 35.797: E/AndroidRuntime (18720): android.database.sqlite.SQLiteException: рядом с «dayOfTheWeek»: синтаксическая ошибка (код 1): при компиляции: dayOfTheWeek =? И startTime <=? И endTime>? все еще не работает –
, конечно ... как я буду запрашивать без табло? Я все равно получаю 'Невозможно связать аргумент с индексом 3, потому что индекс выходит за пределы диапазона. У оператора есть 0 параметров. Ошибка, потому что я оставил код, используя «'» из «% s ='?» И% s <= '?' %s > '?' ', Чтобы дать отзыв Паташу. Теперь все исправлено. Большое спасибо. –