Разработки          Услуги          О компании          Контакты  

Материал из биософт-м

Перейти к: навигация, поиск

  !   Данная информация предназначена только только для IT-специалистов по системной интеграции модулей БИОСОФТ-М. (см. Руководства пользователя к программным продуктам)

Выборка SELECT должна всегда инкапсулироваться единообразным шаблонным методом, возвращающим queryorcount и состоящего из следующих обязательных элементов:

заголовка(итератора, выходных данных и опционально параметров фильтрации)
{
декларации rQuery
деклараций from-алиасов таблиц с результатами запроса
условной инициализации запроса на первой итерации:
{
задание JOINов и связывание from-алиасов с таблицами БД
опциональное задание фильтров запроса
}
при условии наличия результата:
{
получение записей из from::QueryRef
}
возврат статуса queryorcount
}


   queryorcount CStorageEncapClass::QuerySomething(
           out iter& out_i,
           out ref<CSomething>& out_rSomething,
           key keyPrimary,
           xxxx xxxxOptionalFilterDefinition, ...)
   {
       ref<CQueryIfaceGp> rQuery =
           out_i.GetNextQuery();
 
       from<CDbSomething> fromSomething(rQuery);
       from<CDbSomethingElse> fromSomethingElse(rQuery);
       from<CDbSomethingMore> fromSomethingMore(rQuery);
       ...
 
       if (rQuery->Init())
       {
           fromSomething.
               BeginFrom(
                   rDbRoot->
                       _x_dblistSomething,
                   keyPrimary);
 
           fromSomethingElse.
               Join(
                   ...);
 
           fromSomethingMore.
               JoinLeft(
                   ...);
 
           rQuery->x_qxboolWhere =
               Qx
                   conditions
       }
 
       if (rQuery->Next())
       {
           out_rSomething = fromSomething.FetchRef();
       }
 
       return rQuery;
   }



Подкатегории

Показано 3 подкатегории из 3.

Q

И

Р

www.biosoft-m.ru



Просмотры
Личные инструменты