![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Пройти все строки Query при fetch [D5]
{bas} © (2003-11-24 19:04:00)
Хочу приципиться к какому-то событию для того, что бы при добавлении новой записи из БД в TQuery(у меня TORAQuery) я мог посмотреть значения каждого поля. Но не знаю к какому. Подскажите??
Может быть не очень понятно. Вот задача:
Когда мы делаем открытие датасета, то он заполняется данными из БД. Я хочу, что бы при каждом заполнении строчки в дадасете, я мог бы посмотреть все поля данной строчки. Похоже на событие ONDrawColumnCell у TDBGrid, но немного не то, так как здесь можно приципиться к каждой строчке, которая видна на экране, а надо ко всем строкам выбранных в датасет.
Reindeer Moss Eater (2003-11-24 19:51:00) [21]
Либо параллельные запросы на общую сумму и строки для грида
Reindeer Moss Eater (2003-11-24 19:49:00) [22]
Если ему нужна динамика суммы, то и запрашивай у сервера сумму, а не строки, которые он все равно не успеет рассмотреть и показывай трейдеру сумму.
{bas} (2003-11-24 19:49:00) [23]
и вообще они могут следить только за одной или двумя в данный момент, а по остальным следить динамику развития и они(строки) могут привлечь их внимание... Но программа должна все строчки показывать и считать сумму, по достежению нек. значения которой должны происходить неуоторые действия, например, закрытие всего...
{bas} (2003-11-24 19:46:00) [24]
>> Трейдеру что важно?
>> Сам факт изменения, или он бедняга пытается прочитать эти >> пусть даже 10 записей обновляемые пусть даже раз в секунду?
Да,к сожалению, это важно он пытается уловить и больше раз в секунду общую сумму, а по стокам реально наверное сможет уловить только раз в сек.
Reindeer Moss Eater (2003-11-24 19:42:00) [25]
Какая разница?
Трейдеру что важно?
Сам факт изменения, или он бедняга пытается прочитать эти пусть даже 10 записей обновляемые пусть даже раз в секунду?
{bas} (2003-11-24 19:40:00) [26]
>>Зачем в гриде(!) сто записей, если грид с частотой 10 герц(!) обновляется ?
Я сказал до 100 - это значит от 0 до 100 записей, обычно там бывает около 10-20 записей - это трейдерская система, поэтому так все быстро меняется и человек может уловить только 2 изменения в сек., а программа должна реагировать на все изменения.
Reindeer Moss Eater (2003-11-24 19:37:00) [27]
Зачем вообще грид?
Reindeer Moss Eater (2003-11-24 19:35:00) [28]
У меня выберается до ста записей, но это все равно приличные задержки, если у меня до 10 раз в сек.
Ты ботанику в школе учил?
Зачем в гриде(!) сто записей, если грид с частотой 10 герц(!) обновляется ?
{bas} (2003-11-24 19:33:00) [29]
У меня выберается до ста записей, но это все равно приличные задержки, если у меня до 10 раз в сек. рефрешиться запрос и каждый раз делать передор всех строчек...
Ладно поставлю вопрос по другому. Как делает грид прорисовку данных?? К какому событию он цепляется?? Я так и не смог понять по исходникам, больно уж там запутано.
Reindeer Moss Eater (2003-11-24 19:24:00) [30]
если стоит FetchAll := True;
Ну и что же ты тогда пытаешься сэкономить?
Пьем шампанское, экономим на спичах?
{bas} (2003-11-24 19:23:00) [31]
Каким образом какие-то строки не будут зафетчены на клиента, если стоит FetchAll := True;
Reindeer Moss Eater (2003-11-24 19:21:00) [32]
Подсчет суммы чего?
А те строки, которые попадают в Where, но еще не зафетчены на клиента (и не будут зафетчены после открытия датасета)?
{bas} (2003-11-24 19:17:00) [33]
У меня просто очень динамическая система(рефреш таблицы делается до 10 раз в сек.) и что бы не терять время на перебор строк после открытия, хотел повесить подсчет суммы на фетч каждой строки
Reindeer Moss Eater (2003-11-24 19:05:00) [34]
А зачем?
А после открытия нельзя?