Запрос данных из Udb

  !   Данная информация предназначена только только для 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

×Queryorcount(0)

И

×Инициализация Udb запроса(0)

Р

×Результаты запроса к Udb (0)