Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Введение в СУБД HyTech.doc
Скачиваний:
11
Добавлен:
01.03.2025
Размер:
2.67 Mб
Скачать

7.1.2 Функции для выполнения sql-запросов Выполнение sql-запроса и открытие результата запроса

Функция hytech_query предназначена для выполнения SQL-запроса и открытия результата запроса (например, запросом с результатом (можно использовать синоним курсор) является оператор select). Для извлечения данных в дальнейшем используется открытый результат.

Формат вызова:

ResId = hytech_query ( Query, ConnId, [RecCount, Direct] );

Аргументы:

Аргумент

Тип

Значение

Query

String

Строка, содержащая SQL-запрос (должна заканчиваться ;).

ConnId

Resource

Идентификатор соединения, возвращенный функцией hytech_connect или hytech_pconnect.

RecCount

Integer

Максимальное количество строк, которое следует вернуть в результате (по умолчанию параметр имеет значение 1).

Direct

Integer

Направление чтения данных (с начала или с конца выборки). Параметр может принимать следующие значения:

  • HYTECH_DIRECT_DOWN – направление чтения результата от начала к концу;

  • HYTECH_DIRECT_UP – направление чтения результата от конца к началу. 

Результат:

Тип

Значение

Resource

Идентификатор результата, а случае запроса, заканчивающегося ошибкой, возвращается NULL.

Параметры RecCount и Direct являются необязательными.

Для изменения значения параметра RecCount по умолчанию следует в файл настроек добавить переменную hytech.default_rows, например, так:

[Hytech] hytech.default_rows = 10

По умолчанию теперь будет 10 строк.

Выполнение sql-запроса без открытия результата

Функция hytech_exec предназначена для выполнения SQL-запроса без открытия результата (пример такого запроса – оператор insert). Для извлечения данных в дальнейшем используется открытый результат.

Формат вызова:

ResId = hytech_exec ( Query, ConnId );

Аргументы:

Аргумент

Тип

Значение

Query

String

Строка, содержащая SQL-запрос (должна заканчиваться ;).

ConnId

Integer

Идентификатор соединения, возвращенный функцией hytech_connect или hytech_pconnect.

Результат:

Тип

Значение

Integer

Не специфицирован.

Пример:

<?php $h = hytech_pconnect( "tcpip:/localhost:13000", "HTADMIN", "PASSWORD" ); $q = "if (table_exists('T1') > 0) drop table T1; "; $q .= "create table T1(ID dword surrogate, DATA char(50)); "; $q .= "insert into T1(DATA) values ('Test text string.'); fix all;"; $rh = hytech_exec( $q, $h ); if( hytech_errno() != 0 ) {   // Внимание! При ошибке нужно сбросить код ошибки, дабы он   // не мешал диагностике при выполнении следующих запросов   // сделать это можно любым корректным вызовом hytech_query, например, так     $rh = hytech_query( "select * from TABLES;", $h, 1 );   echo "Ошибка выполнения запроса 1<br>"; } hytech_close( $h ); ?>