Функция 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 сохраняются в других переменных, т.к. после выполнении отката они будут изменены.