trigger |
Отправлено: 12.07.2004, 13:05 |
|
Не зарегистрирован
|
можно ли писать запрос к ClientDataSet? если да, то что указать в качестве имени таблицы?
я создаю новые поля в этой компоненте, потом заполняю данными, и хочу просуммировтать одно поле.
вариант вручную читать каждое поле, прибавлять к сумме и делать ClientDataSet1->Next() — в моем варианте не пройдет.
не подскажете идею?
|
|
AVC |
Отправлено: 12.07.2004, 13:23 |
|
Ветеран
Группа: Модератор
Сообщений: 1583
|
QUOTE |
можно ли писать запрос к ClientDataSet
|
Нет, так как сервер БД о нем ни чего не знает.
Есть два пути:
1. Таки проходить по DataSet'у.
2. Написать Select так, что бы это за вас выполнил сервер.
Вариант 1 не так уж плох если у вас сложновычисляемые поля, хотя, с другой стороны, почти все можно запихнуть в Select.
Выбор варианта зависит от следующих факторов:
Сложный запрос, дающий мало строк — вараинт 1
Простой запрос с большим результатом — сервер это сделает быстрее.
|
|
a1 |
Отправлено: 26.10.2004, 10:05 |
|
Не зарегистрирован
|
Esli prosto nado naite sumu v kakogo-to pola Field1, to mozno :
esli v Design-time- v Field Editor'e vibrat New Field, zadat ego type Aggregate i zadat
Expression — SUM(Field1). Tolko pri etom ne zabit u DataSet'a postavit AggregatesActive =true i v poluchivshemsja pole toze ne zabit postavit Active=true;
V run time- mozno analogichno -DataSet->Aggregates->Add() i t.d |
|
|