Класс linDataSet

 

Класс linDataSet представляет собой размещенный в оперативной памяти компьютера (кэшированный) набор данных, загруженный из БД СУБД ЛИНТЕР. Использование класса linDataSet позволяет уменьшить число запросов к БД, но ограничивает их возможности (для сложных запросов необходимо писать SQL-запросы на языке баз данных SQL).

Класс linDataSet реализует упрощенную реляционную модель БД со следующими возможностями:

  • загрузку результата SQL-запроса выборки данных в оперативную память;

  • обновление загруженной выборки данных путём добавления новых записей, удаления и модификации существующих (в случае, если SQL-запрос обновляемый);

  • работу с BLOB-полями как в режиме предварительной загрузки всех значений BLOB-полей в память, так и в режиме индивидуальной работы с каждым из значений BLOB-полей;

  • поиск значения на условия «равно», «не равно», «меньше», «больше», «меньше или равно», «больше или равно», «is NULL», «is NOT NULL» по одному или нескольким столбцам;

  • сортировку значений по одному или нескольким столбцам;

  • вычисление агрегатных функций (min, max, sum, count, avg) по загруженным столбцам;

  • сохранение изменённых данных в БД либо в файле формата SQL (значения BLOB-полей сохраняются в виде отдельных файлов).

Большинство методов этого класса возвращают результат типа L_SWORD в виде одного или двух значений: LINAPI_ERROR или LINAPI_SUCCESS.

В случае если метод вернул значение LINAPI_ERROR, для получения диагностики следует вызвать методы linDataSet::GetErrorsCount, linDataSet::GetError.

Прототипы методов класса linDataSet в LinAPI-интерфейсе отсутствуют.