Promotic
WikipediaLinkedInYoutubeTwitterFacebook

DbBeginTrans - method of object PmAdo

Description:
Starts new transaction over the connected database.
Syntax:
DbBeginTrans([sParams As String]) As Object
Calling:
oDb.DbBeginTrans(sParams)
Parameters:
sParams[optional] (String) Additional parameters of the DbBeginTrans method. Entries are in format PmNamedValues, for example "return:map;".
"return:xxx;" (optional) - Defines whether the method returned value is a map containing multiple values (new procedure) or a single value (old procedure). If not defined then the old procedure is used.
map - Returns a map (PmMap) containing multiple returned values (new procedure) (e.g. Result, AffectedRows, ErrorCode, ErrorText).
Return Values:
New procedure: Returns object PmMap with values in following items:
- "Result": empty value (the method does not return anything)
- "ErrorCode": numeric error code where the 0 value signals successful method execution (no error)
- "ErrorText": error text description
 
Old procedure: Returns empty value (the method does not return anything).
Note:
The DbBeginTrans method starts a new transaction over the connected database. All following operations over this database will be confirmed as complete transaction by the DbCommitTrans method or cancelled by DbRollbackTrans method. The transaction must be supported by both the connected database and the provider.
Example:
Adding new recort into tables table1 and table2 using transaction. If adding the record to any of the tables fails, then all operations from the beginning of the transaction are cancelled. It means that both records are added or no record is added. The failure of the operation can be detected in PmAdo object by LastErr property.
Dim oDb, nLastErr1, nLastErr2
Set oDb = pMe.Pm("/TestAdoDb")
If oDb.DbBeginTrans("return:map;").ErrorCode = 0 Then
  nLastErr1 = oDb.DbExecute("", "INSERT table1 (name, value) VALUES ('pi', 3.14)", "return:map;").ErrorCode
  nLastErr2 = oDb.DbExecute("", "INSERT table2 (name, value) VALUES ('pi', 3.14)", "return:map;").ErrorCode
  If nLastErr1 = 0 And nLastErr2 = 0 Then
    oDb.DbCommitTrans
  Else
    Pm.Debug oDb.LastTextErr
    oDb.DbRollbackTrans
End If
PROMOTIC 8.3.23 SCADA system documentation - MICROSYS, spol. s r.o.

Send page remarkContact responsible person
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice