Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
rusmogbel
3 / 3 / 0
Регистрация: 08.11.2014
Сообщений: 28
#1

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

31.12.2014, 16:00. Просмотров 461. Ответов 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 в этом запросе пришлось взять в одинарные кавычки, иначе запрос ничего не выдает.

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

Как написать простейший запрос на сервер без использование AsyncTask - Программирование Android
как написать простейший запрос на сервер? без использование AsyncTask. у меня есть локальный сервер который возвращает JSON адрес...

SQLite запрос - Программирование Android
ищу минимальное значение в столбце и хочу вывести его в переменную . int nameColMill = cursor.getColumnIndex(&quot;val_two&quot;); ...

SQLite запрос - Программирование Android
Здраствуйте, у мене есть таблица events... там есть поле action_date, в етом поле дата и время в секундах, я не знаю как мне написать...

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

SQLite и древовидный запрос - Программирование Android
Привет! Создаю в SQLite browser древовидный запрос, вот его часть. select * from rubric where id in ( WITH tree (id) AS ( ...

Некорректно выполняется запрос к SQLite - Программирование Android
Здравствуйте! Необходимо сделать выборку данных из БД по двум условиям + еще максимум по третьему столбцу: public List&lt;Table.Lesson&gt;...

SQLite запрос для списка с подчиненными - Программирование Android
Помогите пожалуста составить запрос (подзабыл азы SQLite - давно не работал). Скажите хотя-бы ВОЗМОЖНО ЛИ ПОДОБНОЕ? (что-бы время зря не...

Sqlite запрос со сравнением строки с последними 5ю символами - Программирование Android
Гуру SQLite, помогите! Есть таблица в которой одно из строковых полей выглядит так: 123454-80000 984230-80000 849037-80000 ...

Выбрать hasmap или sqlite - Программирование Android
Народ, подскажите пожалуйста, что лучше выгрузить все данные из таблицы Sqlite в hasmap или делать постоянно новые запросы в БД? Как все...

SQLite или MySQL на удаленном сервере - Программирование Android
Какой вариант следует предпочесть когда если в бд надо хранить курсы валют или ценных бумаг скажем за последние 10 лет тоесть 3650...

Копирование файла с Android на PC, или синхронизация SQLite - Программирование Android
Здравствуйте!!! У меня на телефоне есть база данных (путь до базы /data/data/имя приложения/databases/baza.db). Когда тестировал на...

Как подключиться к уже существующей sqlite, или подскажите где ошибка в коде - Программирование Android
Привет! Есть mysql3.sqlite (импортировал данные из csv). Нужно из приложения подключится к sqlite БД и вывести данные в log. Нашел пример...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
max_max
5 / 5 / 1
Регистрация: 12.08.2014
Сообщений: 26
31.12.2014, 18:24     Простейший запрос к SQLite (или схожу сума) #2
Попробуйте rawQuery, у меня с where работает:
Java
1
myDataBase.rawQuery("select * from data where _id = ?", new String[] {Integer.toString(id) });
Удачи!
rusmogbel
3 / 3 / 0
Регистрация: 08.11.2014
Сообщений: 28
31.12.2014, 22:40  [ТС]     Простейший запрос к SQLite (или схожу сума) #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 являлось для них не определяющей

убрал ковычки и принудительно заполнил поля данными - все стало на свои места
Yandex
Объявления
31.12.2014, 22:40     Простейший запрос к SQLite (или схожу сума)
Ответ Создать тему
Опции темы

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