:: Главная :: Решения :: Статьи :: Проект "Русский help" :: Файловый архив :: Фотоальбом :: Ссылки ::
   Л и с о в о д ы   в с е х   с т р а н,  о б ъ е д и н я й т е с ь !!!  


Форумы  :: FAQ FoxPro

Как определить причину ошибки
Дата: 24.02.06 18:42:22 ОтветитьЦитировать

Вопрос

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

Ответ

Тот факт, что операция на сервере закончилась неудачей, определяется в зависимости от используемого способа обращения к серверу.

Если обращение идет через функции SQLExec(), то сама эта функция возвращает значение меньше нуля в случае ошибки.

Если обращение идет через RemoteView или Cursor Adapter, то операция сброса изменений на сервер осуществляется функцией TableUpdate(). В случае неудачи (ошибки) эта функция вернет .F.

Для определения причины возникновения ошибки предназначена функция AERROR(). Использовать можно следующим образом:

* При работе через SQLExec()
IF SQLExec(...)<0
LOCAL laError(1)
=AERROR(laError)
* Анализ массива laError для уточнения причины ошибки
ENDIF
* При работе через Remote View или Cursor Adapter
IF TableUpdate(.T.,.T.,"MyView")=.F.
LOCAL laError(1)
=AERROR(laError)
* Анализ массива laError для уточнения причины ошибки
ENDIF

При работе с удаленными данными первый элемент полученного массива всегда будет иметь значение 1526 - ошибка ODBC-соединения.

Остальные элементы массива будут содержать информацию об ошибке самого сервера. Т.е., какая именно ошибка произошла на сервере.



Исправлено 2 раз(а). Последнее : piva, 01.01.13 03:29
Ratings: 0 negative/0 positive


Тема Просмотров Написано Написано
  Работа с удаленными данными, SQL-серверами 5833 Владимир Максимов 24.02.06 18:19
  Как определить причину ошибки 7111 Владимир Максимов 24.02.06 18:42
  Как подавить выдачу системного окна настройки соединения в случае ошибки 6640 Владимир Максимов 24.02.06 19:13
  Как вызвать хранимую процедуру сервера 6655 Владимир Максимов 24.02.06 19:33
  Как передать параметры в хранимую процедуру сервера 7169 Владимир Максимов 24.02.06 19:44
  Как получить значение выходного параметра процедуры сервера 6866 Владимир Максимов 24.02.06 19:57
  Как получить значение функции сервера 5962 Владимир Максимов 24.02.06 20:11
  Почему возвращается только часть числа. Первые символы 5390 Владимир Максимов 06.01.10 16:39


Извините, но у вас нет прав для того, чтобы оставлять сообщения в этом форуме.

On-line: 1 (Гостей: 1)

© 2006 Fox Club 
Яндекс.Метрика