Страница 2 из 2

Человеческий язык SQL ошибок.

Добавлено: 18 Ноябрь 2015, 15:35
Yufil
При ошибке происходит вызов filemanager.throw(), а внутри него доступно сообщение сервера FileError(), код ошибки сервера FileErrorCode(), код ошибки Клариона Filemanager.get_error(). А дальше всё разбирается, преобразуется и формируется новое сообщение.
Вот этот текст

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

TextGroup            Group
                      String('unique key|Нарушена уникальность записи')
                      String('table reference|Запись используется в другой таблице БД')
                     End
просто помогает идентифицировать ошибку по фрагменту текста сообщения, может быть дополнен другими строками.
Например, если в тексте есть 'unique key', будет выведено 'Нарушена уникальность записи'

Поставь в начало отладочную выдачу FileError(), FileErrorCode() и Get_error, потом дополни список строк контекста и поправь коды ошибок сервера Firebird. И будет тебе щастье...

Человеческий язык SQL ошибок.

Добавлено: 18 Ноябрь 2015, 16:52
kreator
Реальный путь, ещё раз спасибо. К Firebird'у привязываться не хочется, сегодня есть, завтра нет (сейчас ждем версию 3.0, если ничего ребята не сделают с быстродействием, будем думать куда мигрировать). А есть ещё у меня старый проект на SQLAnywhere, сейчас вроде интерес проснулся к нему. И ещё момент. Сделал мультиязычный интерфейс небольшого модуля. Вдруг понадобится развитие - ошибки выдавать на другом языке. Так что буду смотреть FileManager.