«Быстрые» выборки из базы данных

Автор:ironjava
Дата:02.02.2011
Просмотров:4185
Скачиваний:877
Оценка:, Оценок - 3
Скачать (zip-файл; Размер - 7681)

Обсудить в форуме

Описание

Класс RowSet облегчает написание выборок из баз данных с помощью фильтров и механизмов обратного вызова. Поддерживает метод CreateEnum, поэтому может использоваться в цикле for.

Описание методов класса с примерами внутри архива.

Текст примера

 /* небольшой пример */
 /* вывод фамилий и адресов клиентов, имеющих открытые кредитные договоры */

class Contract
  macro NotClosed(c)
    return (c.iCloseFlag == 0) and (c.bdCloseDate < {curdate});
  end;
end;

var contracts = RowSet("crdcontr").Filter(Contract, "NotClosed");

var c;
for (c, contracts)
  PrintLn(c.szContractNumber);
  PrintLn(RowSet("client").Key("Client", c.lClient).First.Name_Client);
  PrintLn(RowSet("address").Key("Client", c.lClient).Field("AdrType", 2).First.Address);
  PrintLn();
end;