Symbian
Symbian OS Library

SYMBIAN OS V9.3

[Index] [Spacer] [Previous] [Next]



Location: D32DBMS.H
Link against: edbms.lib

Class RDbUpdate

class RDbUpdate;

Description

Provides an interface to allow incremental execution of a DML (SQL data update) statement.

This class offers similar behaviour to the RDbIncremental class, in that it allows an application to perform long running operations while remaining responsive to events. However, unlike that class, RDbUpdate is restricted to executing DML statements.

Members

Defined in RDbUpdate:
Close(), Execute(), Next(), Next(), RowCount()

See also:


Member functions


Execute()

Capability: Security policy note: For a secure shared database, the caller must satisfy:

IMPORT_C TInt Execute(RDbDatabase &aDatabase, const TDesC &aSql, TDbTextComparison aComparison=EDbCompareNormal);

Description

Initiates the incremental execution of a DML (SQL data update) statement on the database. This is similar to RDbDatabase::Execute().

Note that to begin executing a DDL (SQL schema update) statement incrementally, use the RDbIncremental class.

Parameters

RDbDatabase &aDatabase

The database on which the DML (SQL data update) statement is to execute.

const TDesC &aSql

A reference to a descriptor containing the DML statement to be executed.

TDbTextComparison aComparison

This argument is only used in the execution of some SQL statements. By default the comparison is EDbCompareNormal. For more information see RDbDatabase::Execute().

Return value

TInt

KErrNone, if the operation is complete or 1, if the operation requires further incremental execution or another of the system-wide error codes.

See also:


Close()

IMPORT_C void Close();

Description

Releases the resources used by this incremental operation object. If the operation is not yet complete, then the operation is abandoned and the database is rolled back to its state before the operation started.


Next()

IMPORT_C TInt Next();

Description

Performs the next step in the incremental execution of the DML (SQL data update) statement synchronously. The function returns when the step is complete.

Note that if the incremental step fails, then the incremental object should be closed and the operation abandoned.

Return value

TInt

KErrNone if execution of the DML statement is complete or 1 if another step in the execution of the DML statement is needed. or another of the system-wide error codes is returned if the incremental step fails.


Next()

IMPORT_C void Next(TRequestStatus &aStatus);

Description

Performs the next step in the incremental execution of the DML (SQL data update) statement asynchronously.

The function returns immediately and signals when the step is complete.

This function is most effectively used when the incremental operation is packaged as an active object.

Note that if the incremental step fails, then the incremental object should be closed, and the operation abandoned.

Parameters

TRequestStatus &aStatus

The request status used to contain completion information for the operation. On completion, it contains:KErrNone, if execution of the DML statement is complete or 1, if another step in the execution of the DML statement is needed. or another of the system-wide error codes, if the incremental step fails.


RowCount()

IMPORT_C TInt RowCount() const;

Description

Returns the number of rows currently affected by the execution of the DML (SQL data update) statement on the database.

Once execution of the DML statement is complete, the value returned is the final total number of rows affected.

Return value

TInt

The current/final number of rows affected by the execution of the DML statement.