![]() |
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]() ![]() ![]() |
|
Sed0Y |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 16.1.2009 Репутация: нет Всего: нет |
у меня программа, считывает с екселя данные каждую секунду, эти данные нужно проверять с другими данными с БД, к примеру
Данные с екселя: text='ENU' price=2.26, name='london', count=200 Данные с БД id = 2, text='ENU' price=2.26 id = 3, text='UFA' price=3.16 .... если есть совпадение text и price происходит дальше проверка или дейсвие.. ВОпрос, что бы не держать данные с БД в Датасете как их загнать в TStringList что бы был там ID, text, price (я пологаю, что работать с TStringList будет быстрее чем с Датасетом?) или как лучше сделать? |
|||
|
||||
Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 9 Всего: 130 |
Не понял, что ты делаешь: почему нельзя сразу проверять совпадение данных?
Видимо,
-как ещё загонять. Да уж лучше поиск по таблице сделать (снова-таки не знаю, как там в твоём случае). -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
Демо |
|
||||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 3.11.2005 Репутация: 30 Всего: 50 |
Вопрос в накладных расходах. 1. Если объём данных в БД очень велик (сотни тысяч записей и более), то расходы оперативной памяти и время поиска превысят выгоду отказа от БД. При правильном проектировании БД запрос к ней на поиск единственной записи будет выполняться за десятые доли секунды. 2. Если объём данных невелик, то вполне можно использовать TStringList, а именно его свойство - Objects Для использования определяем структуру:
После получения набора данных из БД заполняем структуру и добавляем в список:
После использования не забываем уничтожить список и структуры, которые он содержит:
Добавлено @ 09:19 Также можно обратить свой взгляд на TObjectList, а структуры заменить на экземпляры класса. Это сообщение отредактировал(а) Демо - 1.6.2010, 10:35 -------------------- |
||||||||
|
|||||||||
superVad |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 735 Регистрация: 6.4.2006 Где: Черкассы, Украина Репутация: 4 Всего: 15 |
Если используешь какие то компоненты EH, RX, JVCL - то там есть компоненты, представляющие из себя датасеты без соединения к базе, хранящие все в памяти (MemoryData, MemTable).
Там можно каким то методом сразу перекачать данные и структуру из обычного датасета. Когда то давно юзал это дело. |
|||
|
||||
Sed0Y |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 16.1.2009 Репутация: нет Всего: нет |
2 Демо - Большое спасибо, именно это и искал
2 superVad - спасибо, посмотрю вечерком |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |