![]() |
|
|
![]()
|
|
| CompWorm |
|
|||
![]() Допеределыватель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1689 Регистрация: 6.12.2004 Где: / Репутация: нет Всего: 31 |
использую БД Sqlite3
для доступа - компоненты "ASqlite 2008-06-A" сейчас на форме имею компоненты: TASQLite3DB; TASQLite3Query; TDataSource; TDBGrid; из них, TDBGrid, я хочу исключить и заменить на строковый двумерный массив, ибо выводить я данные не собираюсь столбиками. идея - в получении данных в массив с последующим анализом и выводом одного подходящего результата. использование TDBGrid в данном контексте неэффективно и медленно. поэтому прошу Вас, уважаемые знатоки, привести мне 2 наиболее эффективных примера вывода данных по запросу, скажем 'select * from tabel1' в массив и отправки массива данных в базу. спасибо! |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
||||
|
||||
| CompWorm |
|
|||
![]() Допеределыватель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1689 Регистрация: 6.12.2004 Где: / Репутация: нет Всего: 31 |
ну, положим, есть некая таблица в базе, с двумя полями, в которых стоит соответствие имени таблицы и количеству полей в ней.
пусть это таблица indexez и в ней одна запись: | tabel1 | 3 |... что дальше? Это сообщение отредактировал(а) CompWorm - 30.11.2008, 14:37 |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
И что тут сложного? В цикле while заносишь данные в массив:
ну вот так, что-то вроде этого
|
|||
|
||||
| CompWorm |
|
|||
![]() Допеределыватель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1689 Регистрация: 6.12.2004 Где: / Репутация: нет Всего: 31 |
я не гуру баз, поэтому малость хотелось бы по-подробнее...
а что есть t1 ? я к стати, читал тут одну тему, где писалось, что для 10000 записей метод с циклом неэффективен. |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
||||
|
||||
| CompWorm |
|
|||
![]() Допеределыватель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1689 Регистрация: 6.12.2004 Где: / Репутация: нет Всего: 31 |
Akella,
спасибо +. твой метод пошел на ура! соответственно, чтобы отправить данные в базу надо тупо юзать цикл с INSERT INTO... проблема вцелом решена, но если будут более эффективные методы - пишите. буду следить за темой Добавлено через 7 минут и 2 секунды имелось в виду, что-то вроде этого может есть |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
скорее всего ARRAY имеется ввиду в самой базе, а не на стороне клиента, просто некоторые СУБД поддерживают работу с массивами Добавлено через 1 минуту и 9 секунд http://bytes.com/groups/postgresql/400172-...lect-into-array наверное что-то вроде этого |
|||
|
||||
| CompWorm |
|
||||
![]() Допеределыватель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1689 Регистрация: 6.12.2004 Где: / Репутация: нет Всего: 31 |
Akella,
наверно в php такое прокатывает:
может объявить массив как набор стринглистов?
и слить в него результат запроса? к стати, а где хранится результат запроса?! |
||||
|
|||||
| vovk |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 157 Регистрация: 28.2.2008 Репутация: 6 Всего: 6 |
Или я не всё понял.. или не ясно зачем вообще массив? Не нужно выводить? так и не использовать Dbgrid вообще, А с данными работать в Датасете. У меня была задача для обработки держать данные из одной таблицы с разными условиями отбора, в одном датасете сделать было нелзя требовалось чтоб данные были одновременно и именно в разных наборах а не в 1 . В общем во время обработки попробывал держать и обрабатывать в массивах. Работает, но доооолго.
Вот в TDataset и хранится Это сообщение отредактировал(а) vovk - 30.11.2008, 20:38 |
|||
|
||||
| CompWorm |
|
|||
![]() Допеределыватель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1689 Регистрация: 6.12.2004 Где: / Репутация: нет Всего: 31 |
vovk,
я нашел TClientDataSet и Tdatasource. нет контрола ТDataSet, но так, если в проге объявить, рабит. спасибо. потестирую. |
|||
|
||||
| Isaev |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 125 Регистрация: 8.11.2007 Где: Germany Репутация: нет Всего: нет |
||||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
Почему именно ASqlite?
Добавлено через 1 минуту и 53 секунды Вот их сайт: http://www.aducom.com/ Поройся, я не нашёл там ссылку на скачивание. Сайт какой-то недоделанный. |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
Попробуй зарегистрироваться. Скорее всего, что после регистрации дадут скачать.
|
|||
|
||||
| Isaev |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 125 Регистрация: 8.11.2007 Где: Germany Репутация: нет Всего: нет |
Да, спасибо Потому, что в программе для доступа к DB используется именно она, потому и решил начать с неё. Хотя база там довольно странная, не встречал такой файлы с расширениями .vlst, .vdb, .vtv может к ним можно чем-то подключиться не изобретая колесо? |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
А как расширение влияет на содержимое файлов?
|
|||
|
||||
| Isaev |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 125 Регистрация: 8.11.2007 Где: Germany Репутация: нет Всего: нет |
||||
|
||||
![]()
|
| Правила форума "Delphi: Базы данных и репортинг" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |