Форум: "Базы";
Текущий архив: 2006.05.14;
Скачать: [xml.tar.bz2];
ВнизМожно ли из открытого ADOQuery узнать мин/макс значение Найти похожие ветки
← →
mmms (2006-03-22 13:42) [0]в опред столбце, без обращения к БД и без полного скана строк по while? Т.е. не обращатся для этого дела к БД, где SQL запросом получать данные о минимальном/максимальном числе типа SELECT MAX(fvalue) FROM table и т.п. а локально получить это число. И в цикле пройти тоже всю выборку, тоже не хочется, строк может быть много, в таком случае конечно лучше запросом узнать требуемое...
Интересует именно локально.. Например как работает в ADOQuery ф-я Sort, локально можно отсортировать, без обращения к серверу. Если нет, так нет, не велика проблема, просто хотел сократить обращения к серверу, а эти данные (мин/макс) нужны после каждого запроса, по всем столбикам (data/integer/decimal).
Заранее благодарю.
← →
Reindeer Moss Eater © (2006-03-22 13:46) [1]Остается только угадать какое там максимальное значение.
Тоже метод.
← →
Sergey13 © (2006-03-22 13:47) [2]>а эти данные (мин/макс) нужны после каждого запроса, по всем столбикам (data/integer/decimal).
"Приделай" их к НД через UNION например.
← →
mmms (2006-03-22 13:53) [3]Т.е. "локально" выполнить запрос к возвр. данным, которые уже "сидят" у клиента на ПК, уже никак нельзя? На счет Приделать их тоже способ, но слишком большая переделка, код надо менять везде, запросов много... На как вариант пригодится, спасибо :)
← →
Reindeer Moss Eater © (2006-03-22 13:59) [4]Т.е. "локально" выполнить запрос к возвр. данным, которые уже "сидят" у клиента на ПК, уже никак нельзя?
А перебор набора данных это по твоему не "запрос"?
← →
Плохиш © (2006-03-22 14:00) [5]
> mmms (22.03.06 13:53) [3]
> Т.е. "локально" выполнить запрос к возвр. данным, которые
> уже "сидят" у клиента на ПК, уже никак нельзя?
А кто будет обрабатывать этот твой запрос?
← →
Reindeer Moss Eater © (2006-03-22 14:01) [6]А кто будет обрабатывать этот твой запрос?
<Цитата>
Видимо Высший Разум. Цикл-то программировать лень.
Текст предыдущего запроса тоже не царское дело менять.
← →
mmms (2006-03-22 14:21) [7]Например от табл. есть связанные данные, побегу я цикл, а за курсором ещё 10 табл. изменяются, в итоге опять на сервер все ложится. Или как вариант, сделать копирование ADOQuery, и в клоне почитать в цикле? Что бы т.е. на главный не ложить этот цикл?
← →
Sergey13 © (2006-03-22 14:26) [8]2[7] mmms (22.03.06 14:21)
>Например от табл. есть связанные данные
Что мешает их отключить на время пробега?
← →
mmms (2006-03-22 14:40) [9]Sergey13 © (22.03.06 14:26)
Хорошо, и на это время цикла Grid отключать от поставщика данных? В принципе тогда проблемы нет. А то, если записей достаточно много, то "зависание" на время цикла в связи с "бегущими" данными в гриде тоже не хочется делать..
← →
Sergey13 © (2006-03-22 14:43) [10]2 [9] mmms (22.03.06 14:40)
Твоя принципиальная ошибка/недоработка в том, что данных в гриде много. Плохо это, и как правило в 90% случаев не оправдано.
← →
vovnuke © (2006-03-22 14:49) [11]2 mmms
перед отключением датасетов, вызови метод TDataSet-а, DisableControls,
после подключения обратно EnableControls.
← →
vovnuke © (2006-03-22 14:52) [12]функция Sort, работает в зависимости от значения свойства CursorLocation, а вообще почитай примечание к хелпу по Sort
← →
mmms (2006-03-22 15:43) [13]
vovnuke © (22.03.06 14:49)
Спасибо!
На счет Sort, понятно, просто для примера привел, сортирует ведь локально, думал можно и что то так же "получить" из выборки, т.е. сейществует рабочий способ. Но раз не существует, конечно не сложно написать.
← →
Anatoly Podgoretsky © (2006-03-22 15:48) [14]mmms (22.03.06 15:43) [13]
Можно, если набор отсортирован, то это первое и последнее значение
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2006.05.14;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.009 c