Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

странное поведение связки SQLQuery-DatasetProvider-ClientDataset [D7, FB1.03]


Desdechado ©   (2004-05-12 17:01:00) 

1. текст запроса присваивается в Run-time (параметрический или нет - одинаково) ClientDataSet.PacketRecords=-1 - все работает корректно
2. текст запроса присваивается в Run-time (параметрический или нет - одинаково) ClientDataSet.PacketRecords>0 - все работает корректно
3. текст запроса задается в Design-time и он НЕпараметрический, то при любом ClientDataSet.PacketRecords все работает корректно
4. если запрос задается в Design-time и он параметрический, то при свойстве ClientDataSet.PacketRecords>0 странности такого рода: вычитывается первая пачка, после нее вычитывается следующая пачка, но содержит она данные первой пачки, следующая - снова из первой и так до тех пор, пока не вычитает столько записей, сколько штук было в изначальной выборке (НП: 64 записи, 2 одинаковых пачки по 30 + пачка из 4 первых записей).
Смотрел SQLMonitor'ом, происходит закрытие датасета на границе пачек и его переоткрытие, хотя никаких подобных команд не даю. Все, кроме указанных изменений параметров, способов их присваивания и величины пакета для всех 4 случаев одинаково.
Что подскажете?


Desdechado   (2004-05-21 15:55:00) [1]

видимо, так глубоко никто не копает, предпочитают искать обходные пути, а не докапываться до причин
жаль :(
буду сам рыть


Desdechado   (2004-05-19 18:19:00) [2]

как все-таки обработать такую ситуацию (4)?


Desdechado   (2004-05-14 21:06:00) [3]

up

никто с таким не сталкивался, что ли?


Desdechado   (2004-05-13 12:58:00) [4]

вопрос открыт


Desdechado   (2004-05-12 17:54:00) [5]

1. тогда почему 2-я и 3-я ситуация корректно обрабатываются?
2. у меня НЕ stateless application server


div   (2004-05-12 17:31:00) [6]

When PacketRecords is greater than 0, the client dataset must fetch its data incrementally. If the provider is on a stateless application server, the client dataset must inform the provider where to start fetching data. This communication can occur using a BeforeGetRecords event handler.


Наверх

Титульная страница Поиск, карта сайта Написать письмо