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

Пример использования функций

Пример:

<?php $h = hytech_connect( "tcpip:/localhost:13000", "HTADMIN", "PASSWORD" ); $rh = hytech_query( "fix all; select * from TABLES;", $h,                     10, HYTECH_DIRECT_DOWN ); // Извлекаем значения из 3-ей строки (нумерация идет с 0) $res = hytech_fetch_array( $rh, 2 ); // выводим значение полей foreach( $res as $key => $var ) {   // выводим как ключ числа 0, 1, ...   echo "{$key} = {$var} <br />"; } // Извлекаем значения из 2-ой строки (нумерация идет с 0) $res = hytech_fetch_assoc( $rh, 1 ); // выводим значение полей foreach( $res as $key => $var ) {   // выводим сначала имя поля, потом значение   echo "{$key} = {$var} <br/>"; } // Извлекаем значения из 2-ой строки (нумерация идет с 0) // в виде объекта, поля доступны как свойства объекта $obj = hytech_fetch_object( $rh, 1 ); echo "1.1. Значение поля NAME = {$obj->NAME} <br />"; echo "1.2. Значение поля OWNER = {$obj->OWNER} <br />"; // Извлекаем значение 1-го поля из 2-ой строки $f1 = hytech_result( $rh, 1, 0 ); echo "2. Значение поля NAME = {$f1} <br />"; // То же самое, только по имени поля $f1 = hytech_result( $rh, 1, "NAME" ); echo "3. Значение поля NAME = {$f1} <br />"; hytech_close( $h ); ?>

7.1.4 Функции для работы с типами date и array в HyTech Установка режима работы с датами и массивами

PHP не имеет встроенного типа «Дата», однако в реальных информационных системах работа с датами встречается достаточно часто. В HyTech определен тип Date (это поле при хранении занимает два байта), поэтому стоит вопрос о том, в каком виде в PHP тип Date должен быть представлен.

Кроме того, в HyTech имеется тип данных array (массив байт), также встает вопрос интерпретации этого типа в PHP.

Функция hytech_set_resdate устанавливает, каким образом типы DATEи ARRAY из БД HyTech будут представляться в результате SQL-запроса.

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

hytech_set_resdate ( ResType );

Аргументы:

Аргумент

Тип

Значение

ResType

Integer

Параметр принимает два возможных значения: HYTECH_RES_DIGIT и HYTECH_RES_CHAR.

Если значение параметра равно HYTECH_RES_DIGIT, то дата представляется в виде целого числа (т.е. так как хранится в БД HyTech), а массив в виде последовательности байт (т.е. тоже, в виде, хранимом в БД HyTech).

Если значение параметра равно HYTECH_RES_CHAR, то дата преобразуется в символьную строку формата, указанного в функции hytech_set_dateformat, а массив преобразуется в строку, в которой каждый байт исходного массива представляется двумя символами. Символ выбирается из множества [0-9a-f], т.е. интерпретируется как шестнадцатиричная цифра.

В строке дата представляется с разделителем года, месяца и дня в виде «-». Год представляется 4-мя символами.

По умолчанию параметр равен HYTECH_RES_DIGIT.

Результат: нет.

Установка формата строки для преобразования даты

Функция hytech_set_dateformat устанавливает, в строку какого формата будет преобразована дата из БД HyTech, если в функции hytech_set_resdate выбран параметр HYTECH_RES_CHAR.

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

hytech_set_dateformat ( Format );

Аргументы:

Аргумент

Тип

Значение

Format

Integer

Параметр принимает следующие значения:

  • HYTECH_DF_DMY – формат: день-месяц-год;

  • HYTECH_DF_DYM – формат: день-год-месяц;

  • HYTECH_DF_MDY – формат: месяц-день-год;

  • HYTECH_DF_MYD – формат: месяц-год-день;

  • HYTECH_DF_YDM – формат: год-день-месяц;

  • HYTECH_DF_YMD – формат: год-месяц-день. 

Год представляется 4-мя символами. Месяц и день двумя.

Результат: нет.