Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ClientDataSet, Aggregates 
:(
    Опции темы
Akella
  Дата 26.7.2005, 16:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



создаю динамически набор данных,
меня интересует, как правильно создавать и использовать Aggregates
Код

function TFiscalReg.CreateDateSet: boolean;
Var
  Aggregate:TAggregate;
begin

  fClientDataSet.Close;
  fClientDataSet.FieldDefs.Clear;
  fClientDataSet.FieldDefs.Add('Art_Id',ftInteger);
  fClientDataSet.FieldDefs.Add('Goods_Id',ftInteger);
  fClientDataSet.FieldDefs.Add('Price',ftFloat);
  Aggregate := TAggregate.Create(fClientDataSet.Aggregates,fClientDataSet);
  Aggregate.AggregateName := 'MAX_ART_ID';
  Aggregate.Expression := 'Max(Art_ID)';
  Aggregate := fClientDataSet.Aggregates.Add;

  fClientDataSet.CreateDataSet;
  fClientDataSet.Open;
end;


PM MAIL   Вверх
Akella
Дата 26.7.2005, 17:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



разобрался

Код

function TFiscalReg.CreateDateSet: boolean;
Var
  Aggregate:TAggregate;
begin
  fClientDataSet.Close;
  fClientDataSet.FieldDefs.Clear;
  fClientDataSet.FieldDefs.Add('Art_Id',ftInteger);
  fClientDataSet.FieldDefs.Add('Goods_Id',ftInteger);
  fClientDataSet.FieldDefs.Add('Price',ftFloat);
  fClientDataSet.CreateDataSet;
  Aggregate := fClientDataSet.Aggregates.Add;
  Aggregate.AggregateName := 'MAX_ART_ID';
  Aggregate.Expression := 'Max(Art_Id)';
  fClientDataSet.Open;
end;


PM MAIL   Вверх
Петрович
  Дата 26.7.2005, 21:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1000
Регистрация: 2.12.2003
Где: Москва

Репутация: 6
Всего: 55



Чтоб тебе не было скучно одному в теме, решил записать твой пример покороче smile
Код

function TFiscalReg.CreateDateSet: boolean;
begin
  fClientDataSet.Close;
  fClientDataSet.FieldDefs.Clear;
  fClientDataSet.FieldDefs.Add('Art_Id',ftInteger);
  fClientDataSet.FieldDefs.Add('Goods_Id',ftInteger);
  fClientDataSet.FieldDefs.Add('Price',ftFloat);
  fClientDataSet.CreateDataSet;
  with fClientDataSet.Aggregates.Add do begin
    AggregateName := 'MAX_ART_ID';
    Expression := 'Max(Art_Id)';
  end;
  fClientDataSet.Open;
end;




--------------------
Все знать невозможно, но хочется
PM ICQ   Вверх
Akella
Дата 9.8.2005, 13:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



а правильно ли будет создавать Aggregates до создания таблицы, т.е. до метода fClientDataSet.CreateDataSet?
PM MAIL   Вверх
Петрович
Дата 9.8.2005, 22:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1000
Регистрация: 2.12.2003
Где: Москва

Репутация: 6
Всего: 55



Если честно, Aggregates пользоваться не приходилось. Но, думаю что что можно.


--------------------
Все знать невозможно, но хочется
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0670 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.