Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.03.2016, 20:45   #1
edsjeka
Пользователь
 
Регистрация: 01.01.2016
Сообщений: 98
По умолчанию Таблица AdvStringGrid и база данных

Использую таблицу AdvStringGrid для отображения данных. Все хорошо, не считая того, что таблица медленно заполняется.
Я наверное как-то не так заполняю. Делаю так: в SQL-запросе делаю выборку полей, с помощью джоинов, которые мне нужно выводить. И потом в цикле от начала запроса и до конца файла заполняю по очереди значения каждого столбца. Получается, что запрос выполняется за 16мс, а мой цикл по заполнению всего 112 записей длится 1-2сек. Может нужно совсем по другому как-то это делать?
edsjeka вне форума Ответить с цитированием
Старый 30.03.2016, 21:06   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

DBGrid или лучше более продвинутый
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 30.03.2016, 21:09   #3
edsjeka
Пользователь
 
Регистрация: 01.01.2016
Сообщений: 98
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
DBGrid или лучше более продвинутый
Спасибо, но я уже убедился в обратном.
edsjeka вне форума Ответить с цитированием
Старый 30.03.2016, 21:26   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

И что, dbgrid еще дольше активизируется? Печально
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 30.03.2016, 22:08   #5
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Цитата:
начала запроса и до конца файла заполняю по очереди значения каждого столбца.
1. попробуй заполнять по строкам, а точнее не пролистывать N (=число столбцов) один набор данных.
и при этом( при работе по строкам) не ИСКАТЬ каждый раз все поля заново.
2. не знаю есть ли, но на время заполнения (то бишь ВСЕГО цикла), полезно отключать прорисовку.
должно быть что-то вроде "скобок"
Код:
grid.items.beginupdate;
for (while) 
...
end;
grid.items.endupdate;
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 30.03.2016 в 22:13.
evg_m вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Postgres: может ли база данных дать отчет, какой язык используется в данных? Blondy SQL, базы данных 2 30.03.2014 06:25
база данных. добавление и удаление данных midiss Общие вопросы Delphi 3 09.12.2011 13:07
База данных и технология хранения данных Kate1 Помощь студентам 2 17.11.2011 23:27
Небольшая база в Open Office База данных. sashaman Фриланс 3 11.04.2010 20:13
База данных с возможностью приема данных из файлов Excel Al_Sha БД в Delphi 6 16.10.2009 15:34