Функция gf_error()
Для дальнейшей работы над приложением нам необходимо создать базовые объекты приложения, которые станут родительскими для рабочих объектов, а также необходимые вспомогательные функции.
Объекты и функции будут вводиться до их использования.
Функия gf_error будет проверять код возврата после операции с базой данных и сообщать об ошибке при ее возникновении.
Откройте окно New, выбрав пункт меню File-New из окна PowerBuilder. Выберете закладку Object, объект function и нажмите кнопку ОК.
В поле Function Name впишите gf_error, в выпадающем меню Return Type выберете boolean.
Текст функции:
if sqlca.sqlcode = -1 then string sqlerrtext, SQLReturnData; long sqlcode; long sqldbcode; sqldbcode = sqlca.sqldbcode sqlcode = sqlca.sqlcode sqlerrtext = sqlca.sqlerrtext SQLReturnData = sqlca.SQLReturnData rollback; messagebox( "Внимание!",'Сообщение сервера:~r~n' & + upper(sqlerrtext) + "~r~nКод ошибки производителя: " & + string(sqldbcode), StopSign!); return true; end if; return false;
Обратите внимание, что при возникновении ошибки как можно быстрее выполняется откат транзакции (rollback), при этом данные из объекта SQLCA сохраняются в других переменных, т.к. после выполнении отката они будут изменены.