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

Функция lastsqlerr – Получить код последней ошибки Sql

Функция возвращает код последней ошибки SQL. При выполнении SQL-операторов для работы с базой данных код ошибки заносится во внутреннюю переменную. Этот код можно получить данной функцией и проанализировать. SQL-функции код ошибки возвращают сразу и не портят данную внутреннюю переменную. Поэтому их код ошибки нельзя получить данной функцией. Сбросить код ошибки можно с помощью SQL-функции clearerr.

Формат:

nCode = lastsqlerr();

Результат:

Тип

Значение

integer

Код последней ошибки SQL.

Работа с функциями обработки ошибок - функции sqlermsg, htiomsg Функция sqlermsg – Получить текст сообщения об ошибке sql

Функция возвращает текст сообщения об ошибке SQL для указанного кода ошибки.

Формат:

sStr = sqlermsg( nCode );

Аргумент:

Аргумент

Тип

Значение

sCoderName

integer

Код ошибки.

Результат:

Тип

Значение

character

Сообщение об ошибке или пустая строка, если соответствующего сообщения нет.

Пример:

var @i; @i = lastsqlerr(); ? "Ошибка Sql [", @i, "]:", sqlermsg(@i), "\n";

Аналогично определяется функция htermsg, которая предназначена для получения текста сообщения об ошибке HyTech.

Функция htiomsg — Получить сообщение об ошибке ввода/вывода

Функция возвращает последнее сообщение об ошибке ввода-вывода для текущего пользователя.

Формат:

sMessage = htiomsg();

Результат:

Тип

Значение

character

Текст сообщения об ошибке

Пример:

var @i; if((@i = zap("t3")) < 0) {   ? "Ошибка HyTech [", @i, "]:", htermsg(@i), "\n";   if(@i == -1)     ? "Ошибка В/В: ", htiomsg(), "\n"; }

Работа с функциями обработки ошибок - функции htabort, htSetError Функция htabort – Завершает (или нет) выполнение sql-скрипта при ошибке в HyTech

SQL-скрипт на сервере может выполняться до первой ошибки HyTech либо с игнорированием ошибок HyTech. В последнем случае в SQL-скрипт необходимо будет вставлять проверку кодов завершения выполняемых действий и некий код для принятия решения. Управляет режимом выполнения SQL-скриптов флаг, который можно изменять данной функцией.

Формат:

nOldFlag = htabort( nNewFlag );

Аргументы:

Аргумент

Тип

Значение

nNewFlag

integer

Задает новый режим выполнения SQL-скриптов. Если значение опущено, то текущий режим не меняется.

Допустимые значения параметра nNewFlag.

nNewFlag

Значение

1

Ошибка HyTech завершает выполнение SQL-скрипта.

0

Ошибка HyTech не завершает выполнение SQL-скрипта.

Результат:

Тип

Значение

integer

Старое (текущее) значение режима.

Функция htSetError – Установить пользовательский код ошибки

Функция устанавливает код ошибки пользователя. Код ошибки пользователя преобразуется в коды ошибок по следующим правилам.

  • Коды в диапазоне от -8000 до -8999 не изменяются;

  • Коды в диапазоне от 1 до 999 преобразуются в коды от -8001 до -8999;

  • Коды в диапазоне от -1 до -999 преобразуются в коды от -8001 до -8999;

  • Остальные коды преобразуются в код -10 (Операция запрещена).

Установленный код ошибки можно будет прочитать функцией lastsqlerr и сбросить функцией clearerr.

Формат:

htSetError( nErr );

Аргументы:

Аргумент

Тип

Значение

nErr

integer

Код ошибки пользователя.

Пример:

htSetError(51);