2012-05-21 4 views
0

Когда я выполняю SQLite-запрос (используя sqlite4java), я следую общей схеме его выполнения шаг за шагом и получаю по одной строке за раз. Мой конечный результат должен быть двухмерным массивом, длина которого должна соответствовать количеству записей. Проблема, с которой я столкнулся, заключается в том, что я не знаю заранее, сколько записей должно быть возвращено моим запросом. поэтому я в основном храню их в ArrayList, а затем копирует указатели на фактический массив. Есть ли способ, чтобы каким-то образом получить количество записей, которые будут возвращены запросом до его полного выполнения?Неизвестный номер записи при выполнении SQLite-запроса

ответ

3

Мой конечный результат должен быть двухмерным массивом, длина которого должна соответствовать количеству записей.

Почему? Как правило, было бы лучше сделать результат List<E>, где E - это нестандартный тип, представляющий «запись».

Похоже, вы уже создали ArrayList - так зачем вам нужен массив? API коллекций, как правило, более гибкий и удобный, чем использование массивов напрямую.

+0

с целью дальнейшего (потенциального) аппаратного ускорения, которое действительно вычисляет материал на массивах – Bober02

+0

@ Bober02: Вам нужно * это аппаратное ускорение на данный момент? Я предлагаю вам взять самый простой подход, который работает на данный момент - и если вам нужно * скопировать ссылки в массив позже, это достаточно легко ... и, вероятно, будет дешевле, чем выполнение запроса дважды. –

0

Нет, если используется JDBC. Однако вы можете сначала выполнить запрос COUNT(), а затем реальный запрос.

Смежные вопросы