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


Форумы  :: FAQ FoxPro

Как определить причину ошибки
Дата: 24.02.06 17: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-соединения.

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



Исправлено: piva, 01.01.13 01:29
Ratings: 0 negative/0 positive


Тема Просмотров Написано Написано
  Работа с удаленными данными, SQL-серверами 5161 Владимир Максимов 24.02.06 17:19
  Как определить причину ошибки 6384 Владимир Максимов 24.02.06 17:42
  Как подавить выдачу системного окна настройки соединения в случае ошибки 5787 Владимир Максимов 24.02.06 18:13
  Как вызвать хранимую процедуру сервера 5970 Владимир Максимов 24.02.06 18:33
  Как передать параметры в хранимую процедуру сервера 6297 Владимир Максимов 24.02.06 18:44
  Как получить значение выходного параметра процедуры сервера 6079 Владимир Максимов 24.02.06 18:57
  Как получить значение функции сервера 5219 Владимир Максимов 24.02.06 19:11
  Почему возвращается только часть числа. Первые символы 4104 Владимир Максимов 06.01.10 15:39


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

On-line: 31 Komar  and Guests: 30


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