С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
rusmogbel
3 / 3 / 0
Регистрация: 08.11.2014
Сообщений: 28
1

Простейший запрос к SQLite (или схожу сума)

31.12.2014, 16:00. Просмотров 558. Ответов 2
Метки нет (Все метки)

Всех доблестных кодеров с праздником!

Элегантных программных решений и выдающихся результатов всем!!! Путь код поддается и не ломается!



Помогите, день убил на конструкцию в одну строку. Не понимаю что происходит и почему не работает запрос к базе. Итак:

имется база
SQL
1
CREATE TABLE mytar (id INTEGER, name TEXT, DATE LONG, arhiv INTEGER)
база создается, данные размещаются и отображаются - все хорошо.

имеется запрос:
Java
1
2
3
String [] s={Integer.toString(9)};
 
Cursor mCursor = database.query("mytar", null, "'arhiv' <> ?", s, null, null, "id");
Суть в том, что должны выбраться ВСЕ записи у которых arhiv<>9

Однако, я получаю выборку в которой все мои записи присутствуют, условие WHERE игнорируется. Прохожу дебагером и вижу все данные даже у тех у которых arhiv=9

Что странно, что arhiv в этом запросе пришлось взять в одинарные кавычки, иначе запрос ничего не выдает.

Помогите начать готовиться к новому году!!! Эту проблему нужно победить в этом году!!!! Хелп!!!!
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.12.2014, 16:00
Ответы с готовыми решениями:

Как именно можно сделать SQLite запрос, если запрос уже сформирован?
Здравствуйте. Помогите понять , как именно можно сделать SQLite запрос , если...

Как написать простейший запрос на сервер без использование AsyncTask
как написать простейший запрос на сервер? без использование AsyncTask. у меня...

Запрос в бд sqlite
Здравствуйте! У меня есть запрос следующего вида: public static final String...

SQLite запрос
Добрый день! Не могу разобраться как писать запросы SQL. Предположим, у меня...

SQLite запрос
Здраствуйте, у мене есть таблица events... там есть поле action_date, в етом...

2
max_max
5 / 5 / 1
Регистрация: 12.08.2014
Сообщений: 26
31.12.2014, 18:24 2
Попробуйте rawQuery, у меня с where работает:
Java
1
myDataBase.rawQuery("select * from data where _id = ?", new String[] {Integer.toString(id) });
Удачи!
0
rusmogbel
3 / 3 / 0
Регистрация: 08.11.2014
Сообщений: 28
31.12.2014, 22:40  [ТС] 3
max_max, изменений нет! явно происходит выбор строк с arhiv=9

Java
1
2
   String [] s={Integer.toString(9)};
   Cursor mCursor = database.rawQuery("SELECT id,name,date,arhiv FROM mytar WHERE 'arhiv'<>?",s);
а также комбинации записи sql запроса тоже не меняют результат:


Java
1
 Cursor mCursor = database.rawQuery("SELECT id,name,date,arhiv FROM mytar WHERE 'arhiv'<>9",null);
и другие....

Добавлено через 2 часа 56 минут
проблема решилась
имели место две нюанса:

1 - не нужны были скобки ' для arhiv - вся конструкция работала как-то через пень
2 - среди данных arhiv были поля не определенные, т.е. в них ничего не было и почему то проверка where arhiv<>9 являлось для них не определяющей

убрал ковычки и принудительно заполнил поля данными - все стало на свои места
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.12.2014, 22:40

SQLite запрос
ищу минимальное значение в столбце и хочу вывести его в переменную . int...

SQLite и древовидный запрос
Привет! Создаю в SQLite browser древовидный запрос, вот его часть. select *...

Некорректно выполняется запрос к SQLite
Здравствуйте! Необходимо сделать выборку данных из БД по двум условиям + еще...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru