
Лабораторная работа № 5
110
Если 5-й бит настройки С3 канала SQL-выполнить равен 1, то
при выполнении команды сначала будет проведена реинициализация
обмена по ODBC (перечитывание файла конфигурации обмена
odbc.cfg). При реинициализации учитываются и значения младших
четырех битов настройки С3 согласно их назначению.
При формировании с помощью канала SQL_выполнить запро-
са, содержащего команду SELECT*FROM, из указанной базы по за-
данному условию делается выборка записей.
Если настройка C2 канала SQL_выполнить, управляющего за-
просом, равна 1, то данные из первой записи выборки передаются в
каналы, имена которых совпадают с именами полей базы. Если при
этом настройка С3 канала SQL_выполнить равна 0, то поиск каналов
для передачи данных выполняется только по имени, т.е. подтип этих
каналов значения не имеет, настройки I0 и I1 могут быть произволь-
ными и могут не совпадать с соответствующими настройками канала
SQL_выполнить. Если настройка С3 канала SQL_выполнить равна
1, то данные передаются в каналы подтипа ПУСТОЙ с дополнением
SQL_field, которые имеют настройки I0 и I1, равные соответствующим
настройкам канала SQL_выполнить.
При равенстве 0 настройки С2 управляющего канала для считы-
вания данных из полученной выборки используется канал с дополне-
нием SQL_извлечь. Каждое изменение его значения приводит к по-
следовательному считыванию записей из выборки.
Считанные числовые значения присваиваются входным значе-
ниям соответствующих каналов. Если считанное значение представ-
ляет собой текст, он присваивается атрибуту кодировка соответст-
вующего канала, если ранее данному каналу не были заданы коди-
ровка и комментарий. Текст не может содержать более 127 символов.
Присвоенная кодировка может быть просмотрена в динамике с ис-
пользованием, например, формы отображения Динамический текст.
Существует только один буфер для выборки из базы. Поэтому
при считывании данных из выборки с помощью канала SQL_извлечь
будет осуществляться работа с последней выборкой, полученной с
помощью канала SQL_выполнить.
При формировании с помощью канала SQL_выполнить запро-
са, содержащего команду INSERT INTO или UPDATE, анализируется
наличие после нее ключевого слова VALUES. Если оно присутствует,
то осуществляется передача в базу заданных при нем значений.
При отсутствии в запросе ключевого слова
VALUES формирует-
ся новый SQL-запрос. При этом находятся каналы подтипа ПУСТОЙ с
дополнением SQL_для_вставки (если настройка С3 канала
SQL_выполнить равна 0) или с дополнением SQL_field (если C3 рав-
на 2). Среди них выбираются только те, значения настроек I0 и I1 ко-
торых равны соответствующим настройкам канала SQL_выполнить.