Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
semiromid
7 / 7 / 2
Регистрация: 28.08.2014
Сообщений: 179
#1

Как именно можно сделать SQLite запрос, если запрос уже сформирован?

03.10.2014, 19:08. Просмотров 700. Ответов 2
Метки нет (Все метки)

Здравствуйте. Помогите понять , как именно можно сделать SQLite запрос , если запрос уже сформирован
Перечитал кучу информации но не могу понять . Через какой метод можно отправлять запросы в базу данных?
Есть метод execSQL , но что бы вернуть количество таблиц в базе данных он же не подходит.

Пример : Тут удаляем строку в базе по значению выражения where (MyBase.Cion + " = " +"'"+SaySee4+"'" )
И тут используется стандартный метод удаления delete
Java
1
 q3.delete(MyBase.TABLE_NAME,MyBase.Cion + " = " +"'"+SaySee4+"'" ,null); //удаляем строку
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.10.2014, 19:08
Ответы с готовыми решениями:

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

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

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

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

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

2
Max64
20 / 20 / 7
Регистрация: 27.10.2012
Сообщений: 156
04.10.2014, 00:41 #2
Лучший ответ Сообщение было отмечено semiromid как решение

Решение

Из доков по классу SQLiteDatabase:

Метод public void execSQL (String sql)

Execute a single SQL statement that is NOT a SELECT or any other SQL statement that returns data.
т.е. этот метод предназначен для запросов, НЕ возвращающих данные (например CREATE TABLE)

Метод public Cursor rawQuery (String sql, String[] selectionArgs)

Runs the provided SQL and returns a cursor over the result set.
т.е. этот метод подходит для произвольных запросов, возвращающих данные.

Пример подсчета кол-ва таблиц в БД используя rawQuery()
1
semiromid
7 / 7 / 2
Регистрация: 28.08.2014
Сообщений: 179
04.10.2014, 13:12  [ТС] #3
Спасибо!
Я так и знал что с помощью этого метода. Но были сомнения относительно того , что там 2 параметра нужно вводить а не один как в execSQL , потому у меня не получалось . Но потом , после того как вы подтвердили своим ответом , мои догадки , я начал копать дальше , и я решил в второй параметр ввести "null".
Пользуйтесь кому может тоже пригодится :
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
     //Метод находит количество таблицв базе
      public int CountTable(SQLiteDatabase db)
      {       
       int tableInt=0;  
       Cursor cursor2 = db.rawQuery("SELECT * FROM sqlite_master WHERE type='table'",null); 
       while (cursor2.moveToNext()) 
            {
            @SuppressWarnings("unused")
            boolean id = cursor2.moveToNext();                          
            tableInt++;             
            }
       cursor2.close(); 
       return tableInt;
      }
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.10.2014, 13:12

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

SQLite запрос для списка с подчиненными
Помогите пожалуста составить запрос (подзабыл азы SQLite - давно не работал)....

Простейший запрос к SQLite (или схожу сума)
Всех доблестных кодеров с праздником! Элегантных программных решений и...


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

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

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