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

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

Войти
Регистрация
Восстановить пароль
 
Digetix
104 / 104 / 1
Регистрация: 09.04.2012
Сообщений: 649
#1

SQLlite взять случайную строку - Программирование Android

10.11.2015, 02:24. Просмотров 177. Ответов 3
Метки нет (Все метки)

Как в SQLlite базе взять случайную строку?
Пример
SQL
1
SELECT * FROM TABLE ORDER BY RANDOM() LIMIT 1
работает, но пишут, что это только для таблиц с количеством строк до 100, а как взять случайную строку если будет около 1000 строк?

Добавлено через 1 час 46 минут
Работает, но только в sqlitebrowser, в приложении падает с NullPointerException в строке
Java
1
Cursor c = db.rawQuery("SELECT * FROM table ORDER BY RANDOM() LIMIT 1", null);
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.11.2015, 02:24     SQLlite взять случайную строку
Посмотрите здесь:

Взять массив или отдельную строку - Программирование Android
"Взятие" данных из базы public String getData() { String columns = new String {KEY_ROWID, KEY_STRANA, KEY_OBLAST}; ...

SQLlite: хранение изображений - Программирование Android
Доброго времени суток. Объясните пожалуйста или скиньте ссылку на статью как лучше всего хранить изображения если работаешь с с БД. Как то...

Элемент списка listView и БД SQLlite - Программирование Android
по сути задача сводиться к тому что нужно реализовать следующее : создаём элементы в списке по кнопке адд(в Edit_activity) и по кнопке сейв...

Взаимодействие базы данных на SQLlite и Фрагмента и RecyclerView - Программирование Android
Доброго времени суток. Суть проблемы в следующем: есть база с некоторым набором данных, есть фрагмент, куда внедрен RecyclerView для их...

Взять текст из активити - Программирование Android
привет есть два активити, в первом PlanText, и кнопка перехода на другой активити, Во втором активити есть кнопка, вопрос как при нажатие...

Где взять keystore? - Программирование Android
Не могу собpать apk файл,выдает ошибку,что не веpный key. Где его взять?

Взять массив из ресурсов - Программирование Android
Как такой массив взять из getResources private static final String CONTENT = new String { "Раз", "Два", "Три",...

Взять данные из xml Activity - Программирование Android
Есть активити, у него есть ImageView. Как достучаться до значения height и width этого ImageView, чтобы получить значение?

Где взять SDK Samples? - Программирование Android
Где взять указанные здесь примеры: http://developer.android.com/guide/components/loaders.html Related samples LoaderCursor ...

Послать или Взять контент из сайта - Программирование Android
Привет. У меня такой вопрос: Есть какой-то сайт. Нужно взять отдельную его часть (можна по Xpath) и вставить в WebView или же,если это...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
bastrakov
91 / 91 / 14
Регистрация: 10.10.2015
Сообщений: 307
Записей в блоге: 1
10.11.2015, 05:37     SQLlite взять случайную строку #2
Вы можете пронумерувать строки (колонка с int ID), random.nextInt возьмете число, и уже с ним пойдете в базу за одной записью.
но когда мне такое понадобилось, я не пользовался базой. у меня было несколько тыс.строк в текстовом файле. я его считывал в начале приложения в память, попутно считал количество, и потом держал всю коллекцию в виде массива, и работал с ней.
это гораздо меньше по затратам памяти и процессора, чем картинки, которые я сейчас обрабатываю налету. вот это реально проблемы. а текст - это не проблемы. :-)
Digetix
104 / 104 / 1
Регистрация: 09.04.2012
Сообщений: 649
11.11.2015, 00:32  [ТС]     SQLlite взять случайную строку #3
Цитата Сообщение от bastrakov Посмотреть сообщение
пронумерувать строки (колонка с int ID), random.nextInt возьмете число, и уже с ним пойдете в базу за одной записью
Можете дать реально работающую строку кода, в который вы берете так случайную запись?
bastrakov
91 / 91 / 14
Регистрация: 10.10.2015
Сообщений: 307
Записей в блоге: 1
11.11.2015, 03:25     SQLlite взять случайную строку #4
я писал, что я "так" не беру. строка примерно такая:
int i = db.delete("myTable", " id = ? ", new String [] { id });
Yandex
Объявления
11.11.2015, 03:25     SQLlite взять случайную строку
Ответ Создать тему
Опции темы

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