PROP:SQL обработать ERRORCODE

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3131
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 10 раз
Поблагодарили: 28 раз
Контактная информация:

PROP:SQL обработать ERRORCODE

Сообщение Дед Пахом »

Посмотрел внимательнее
gopstop2007 писал(а): 14 Июнь 2022, 8:14 IF ERRORCODE()
invoice{PROP:SQL} = 'ROLLBACK;'
END
Ну конечно! На вопрос "Какая здесь ошибка" очевидный же ответ "Какая-то".
С уважением, ДП
Аватара пользователя
ingasoftplus
Ветеран
Сообщения: 425
Зарегистрирован: 26 Декабрь 2006, 17:07
Откуда: Оттуда :)
Благодарил (а): 87 раз
Поблагодарили: 5 раз

PROP:SQL обработать ERRORCODE

Сообщение ingasoftplus »

Дед Пахом писал(а): 16 Июнь 2022, 11:05 Посмотрел внимательнее
нужно не смотреть - а предугадывать. развивать в себе телепатические свойства.

А если серьезно - ну почему спрашивающие не указывают всю необходимую информацию??? Как то: тип драйвера, используемый SQL сервер, полный кларион код проблемы и т.п. Неужели тут все Ванги?
gopstop2007
✯ Ветеран ✯
Сообщения: 1702
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 9 раз
Поблагодарили: 4 раза

PROP:SQL обработать ERRORCODE

Сообщение gopstop2007 »

Дед Пахом писал(а): 16 Июнь 2022, 11:05 Посмотрел внимательнее
gopstop2007 писал(а): 14 Июнь 2022, 8:14 IF ERRORCODE()
invoice{PROP:SQL} = 'ROLLBACK;'
END
Ну конечно! На вопрос "Какая здесь ошибка" очевидный же ответ "Какая-то".
При результате запроса с сервера, если есть хоть одна запись для обработки, то нет ошибки (ERRORCODE()).
Если не найдено ни одной записи по запросу с сервера для обработки, есть ошибка (ERRORCODE()), которая равна 0 (нулю), которая воспринимается как ошибка и выводит сообщение, если добавить Message().
Этот запрос изменяет статусы всей ветки по родительскому айди (PARENT_ID) при изменении статуса у дитя. Увидел, что не меняет детя без родительской записи. Все записи (родители и дети) находяться в одной таблице.
Данная ситуация появилась недавно когда понадобилось создавать и менять статус детя без создания родителей.
Тогда и подставил после ERROCODE()

Код: Выделить всё

Message('ERRORCODE: '& ERRORCODE()&'<13,10> ERROR: '& ERROR()&'<13,10> FILEERROR: '& FILEERROR()&'<13,10> FILEERRORCODE: '& FILEERRORCODE()) 
ERRORCODE() выдал 0 (ноль), остальные ероры ничего не показали.

Mysql, Clarion 10 ABC.
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3131
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 10 раз
Поблагодарили: 28 раз
Контактная информация:

PROP:SQL обработать ERRORCODE

Сообщение Дед Пахом »

Не хочу Вас расстраивать, но ERRORCODE(), которая равна 0 (нулю), это признак "НЕТ ОШИБКИ".
С уважением, ДП
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3131
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 10 раз
Поблагодарили: 28 раз
Контактная информация:

PROP:SQL обработать ERRORCODE

Сообщение Дед Пахом »

Для подтверждения, вот начало файла errors.clw:
! ERRORS.EQU -- ERRORCODE EQUATES

! Return Value Return Value
! From ERRORCODE() From ERROR()

NoError EQUATE(0) ! ''
NoFileErr EQUATE(02) ! 'File Not Found'
NoPathErr EQUATE(03) ! 'Path Not Found'
TooManyErr EQUATE(04) ! 'Too Many Open Files'
NoAccessErr EQUATE(05) ! 'Access Denied'
BadMemErr EQUATE(07) ! 'Memory Corrupted'
NoMemErr EQUATE(08) ! 'Insufficient Memory'
BadDriveErr EQUATE(15) ! 'Invalid Drive'
С уважением, ДП
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

PROP:SQL обработать ERRORCODE

Сообщение kreator »

Мы проверяем FILEERRORCODE. Работает сто лет.
We are hard at work… for you. :)
Ответить