Promotic
WikipediaLinkedInYoutubeTwitterFacebook

DbBeginTrans - method of object PmaAdo

Description:
Starts new transaction over the connected database.
Syntax:
DbBeginTrans([sParams])
Calling:
oDb.DbBeginTrans(sParams)
Parameters:
sParams[optional] (String) Additional parameters of the DbBeginTrans method. Entries are in KeyVal format, for example "return:map;".
"return:xxx;" (optional) - Specifies whether the method returned value is a map containing multiple values (new procedure) or a single value (old procedure). If not set, 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 PmMap object 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 the 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 the PmaAdo object by means of the LastErr property.
JavaScriptVBScriptSelect and copy to clipboard

var oDb = pMe.Pm("/TestAdoDb");
var nLastErr1, nLastErr2;

if (0 == oDb.DbBeginTrans("return:map;").ErrorCode)
{
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 (0==nLastErr1&&0==nLastErr2)
oDb.DbCommitTrans();
else
{
Pm.Debug(oDb.LastTextErr);
oDb.DbRollbackTrans();
}
}

History:
Pm8.03.09: Created
PROMOTIC 9.0.3 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