Объект Transaction

Объект Transaction служит для обеспечения доступа к базе данных и содержит информацию о базе данных, параметрах соединения, имени и пароле пользователя, коды возврата и сообщения сервера.

Один объект типа Transaction в одно и то же время может служить только для одного соединения к базе данных.

При любом обращении к базе данных необходимо указывать, какой объект типа Transaction используется при данном обращении.

Предполагается, что приложение, написанное с помощью PowerBuilder, в большинстве случаев будет использовано для работы с базой данных, и будет иметь как минимум одно соединение с базой данных. Поэтому PowerBuilder имеет стандартный объект типа Transaction, который имеет зарезервированное имя SQLCA и используется по умолчанию при работе с базой данных. При использовании стандартного объекта SQLCA при обращении к базе данных нет необходимости явно писать его имя. Если имя объекта Transaction не указано, PowerBuilder считает, что использовано объект SQLCA.

SQLCA является объектом с точки зрения объектно-ориентированного программирования. Пользователь может создать объект, родителем которого является объект типа Transaction, и использовать его вместо стандартного объекта Transaction. Как это сделать будет показано при обсуждении объекта Application. Стандартным способом использования такой техники можно считать вызов хранимых процедур как методов пользовательского объекта, имеющего родителем объект Transaction.

В приложении, которое будет написано в процессе чтения данного руководства, будет использовать стандартный объект типа Transaction.

Свойства объекта Transaction

  1. DBMS - определение базы данных, с которой устанавливается связь, в терминах PowerBuilder. Например, " SYC Sybase System 10/11", "o73 oracle v7.3" или " EAS Demo DB V3" для Adaptive Server Anywhere.
  2. Database - наименование базы данных.
  3. UserID или LogID - имя пользователя. Для разных баз данных может использоваться одно или другое значение.
  4. DBPass или LogPass - пароль пользователя. Для разных баз данных может использоваться одно или другое значение.
  5. ServerName - имя сервера базы данных.
  6. DBParm - параметры соединения с базой данных.
  7. Lock - isolation level. Значения зависят от конкретной базы данных. Например, "Read Committed" и "Read Uncommitted".
  8. AutoCommit - переключение в режим AutoCommit и обратно.
  9. SQLCode - возращает код окончания последней операции с базой данных. Может принимать три значения:
    • 0 - успешное завершение.
    • 100 - значение не найдено.
    • -1 - ошибочное завершение операции.
  10. SQLDBCode - код ошибки производителя базы данных.
  11. SQLErrText - текстовое сообщение производителя базы данных.
  12. SQLNRows - количество строк базы данных, обработанных в последней оперции. Например, количество строк, измененных после операции Update.

После каждого обращения к базе данных, тем более после выполнения действий, ведущих к изменению состояния базы данных необходимо проверять значение SQLCode для получения информации об успешности выполнения операции. При этом необходимо учесть, что значения свойств объекта типа Transaction меняются после любого обращения к базе данных, и проверять их надо непосредственно после выполнения операции.