Сохранить выборку

Синтаксис

 
L_SWORD SaveChanges (
  L_CHAR *szFileName=NULL);  /* место сохранения */

Входные параметры

Параметр Описание
szFileName Спецификация (путь и имя) файла для сохранения выборки

Выходные параметры

Отсутствуют.

Описание

Метод сохраняет все изменённые данные выборки в БД или, если задан параметр szFileName, в указанном файле. В случае если соединение было открыто в транзакционном режиме, после выполнения последовательности SQL-запросов выполняется команда commit. Если при выполнении запросов возникают ошибки связи (например, разрывается соединение), соединение вновь пытается восстановиться и выполнить запросы в течение определённого интервала времени, т.е. всё происходит таким же образом, как для класса linConnection.

Параметр szFileName задаёт спецификацию файла, в котором будет сохранена последовательность SQL-запросов по изменению данных выборки. Должен быть указан полный путь к файлу, который открывается в режиме "wb", т.е. создаётся новый файл только для записи, при этом происходит перезапись любого существующего файла с тем же именем.

Изменённые значения BLOB-полей сохраняются в отдельных файлах в том же каталоге, что и файл с SQL-запросами. При этом среди SQL-запросов вставлены комментарии, поясняющие, где и каким образом должно быть добавлено содержимое файлов с BLOB-значениями.

Пример

При выполнении метода linDataSet::SaveChanges ("c:\\sqldata.sql") в случае
 наличия модифицированных данных в выборке могут быть созданы файлы sqldata.sql
 и sqldata_1_6.blb (если выборка содержит BLOB-данные). Содержимое SQL-файла
 будет примерно следующим:

update "SYSTEM"."TEST" set "J"=222, "CH"=NULL, "VCH"='modified value1',
 "BL"=NULL where "I"=2;
! linCursor::PurgeBlob(4, NULL, NULL)
! linCursor::AddBlob(4, 10, 'c:\sqldata_1_6.blb', 4096, NULL, NULL)
update "SYSTEM"."TEST" set "BL"=NULL where "I"=3;
! linCursor::PurgeBlob(1, NULL, NULL)