TSqlScalarFullSelectQuery Class Reference

class TSqlScalarFullSelectQuery

TSqlScalarFullSelectQuery interface is used for executing SELECT sql queries, which return a single row consisting of a single column value.

Examples.

CASE 1 - retrieving records count of a table:
RSqlDatabase db;
//initialize db object....
.......
TSqlScalarFullSelectQuery fullSelectQuery(db);
TInt recCnt = fullSelectQuery.SelectIntL(_L("SELECT COUNT(*) FROM PersonTbl"));
CASE 2 - retrieving specific column value using a condition in the SELECT statement:
RSqlDatabase db;
//initialize db object....
.......
TSqlScalarFullSelectQuery fullSelectQuery(db);
TInt personId = fullSelectQuery.SelectIntL(_L("SELECT ID FROM PersonTbl WHERE Name = 'John'"));
CASE 3 - retrieving a text column value, the receiving buffer is not big enough:
RSqlDatabase db;
//initialize db object....
.......
TSqlScalarFullSelectQuery fullSelectQuery(db);
HBufC* buf = HBufC::NewLC(20);
TPtr name = buf->Des();
TInt rc = fullSelectQuery.SelectTextL(_L("SELECT Name FROM PersonTbl WHERE Id = 1"), name);
TEST(rc >= 0); //the function may return only non-negative values
if(rc > 0)
	{
	buf = buf->ReAllocL(rc);
	CleanupStack::Pop();	
	CleanupStack::PushL(buf);
	name.Set(buf->Des());
	rc = fullSelectQuery.SelectTextL(_L("SELECT Name FROM PersonTbl WHERE Id = 1"), name);
	TEST(rc == 0);
	}
CleanupStack::PopAndDestroy();//buf

RSqlDatabase

Public Member Functions
TSqlScalarFullSelectQuery()
TSqlScalarFullSelectQuery(RSqlDatabase &)
IMPORT_C TIntSelectBinaryL(const TDesC &, TDes8 &)
IMPORT_C TIntSelectBinaryL(const TDesC8 &, TDes8 &)
IMPORT_C TIntSelectIntL(const TDesC &)
IMPORT_C TIntSelectIntL(const TDesC8 &)
IMPORT_C TRealSelectRealL(const TDesC &)
IMPORT_C TRealSelectRealL(const TDesC8 &)
IMPORT_C TIntSelectTextL(const TDesC &, TDes &)
IMPORT_C TIntSelectTextL(const TDesC8 &, TDes &)
IMPORT_C voidSetDatabase(RSqlDatabase &)
Private Member Functions
CSqlDatabaseImpl &Impl()
Private Attributes
CSqlDatabaseImpl *iDatabaseImpl

Constructor & Destructor Documentation

TSqlScalarFullSelectQuery()

IMPORT_CTSqlScalarFullSelectQuery()

Initializes TSqlScalarFullSelectQuery data members with default values.

TSqlScalarFullSelectQuery(RSqlDatabase &)

IMPORT_CTSqlScalarFullSelectQuery(RSqlDatabase &aDatabase)

Parameters

RSqlDatabase & aDatabase

Member Functions Documentation

Impl()

CSqlDatabaseImpl &Impl()const [private, inline]

Returns a reference to the implementation object of RSqlDatabase - CSqlDatabaseImpl.

panic
SqlDb 2 Create() or Open() has not previously been called on this RSqlDatabase object.

SelectBinaryL(const TDesC &, TDes8 &)

IMPORT_C TIntSelectBinaryL(const TDesC &aSqlStmt,
TDes8 &aDest
)

Parameters

const TDesC & aSqlStmt
TDes8 & aDest

SelectBinaryL(const TDesC8 &, TDes8 &)

IMPORT_C TIntSelectBinaryL(const TDesC8 &aSqlStmt,
TDes8 &aDest
)

Parameters

const TDesC8 & aSqlStmt
TDes8 & aDest

SelectIntL(const TDesC &)

IMPORT_C TIntSelectIntL(const TDesC &aSqlStmt)

Executes a SELECT query which is expected to return a single row consisting of a single 32-bit integer value and returns that value.

leave
KErrNotFound, If there is no record, The function may leave with database specific errors categorised as ESqlDbError and other system-wide error codes.

Parameters

const TDesC & aSqlStmt16-bit SELECT sql query

SelectIntL(const TDesC8 &)

IMPORT_C TIntSelectIntL(const TDesC8 &aSqlStmt)

Executes a SELECT query which is expected to return a single row consisting of a single 32-bit integer value and returns that value.

leave
KErrNotFound, If there is no record, The function may leave with database specific errors categorised as ESqlDbError and other system-wide error codes.

Parameters

const TDesC8 & aSqlStmt8-bit SELECT sql query

SelectRealL(const TDesC &)

IMPORT_C TRealSelectRealL(const TDesC &aSqlStmt)

Executes a SELECT query which is expected to return a single row consisting of a single real value and returns that value.

leave
KErrNotFound, If there is no record, The function may leave with database specific errors categorised as ESqlDbError and other system-wide error codes.

Parameters

const TDesC & aSqlStmt16-bit SELECT sql query

SelectRealL(const TDesC8 &)

IMPORT_C TRealSelectRealL(const TDesC8 &aSqlStmt)

Executes a SELECT query which is expected to return a single row consisting of a single real value and returns that value.

leave
KErrNotFound, If there is no record, The function may leave with database specific errors categorised as ESqlDbError and other system-wide error codes.

Parameters

const TDesC8 & aSqlStmt8-bit SELECT sql query

SelectTextL(const TDesC &, TDes &)

IMPORT_C TIntSelectTextL(const TDesC &aSqlStmt,
TDes &aDest
)

Executes a SELECT query which is expected to return a single row consisting of a single text value and copies that value to the place refered by aDest parameter.

If the destination buffer is not big enough, the function will copy as much data as possible and will return positive value - the character length of the text column.

leave
KErrNotFound, If there is no record, The function may leave with database specific errors categorised as ESqlDbError and other system-wide error codes.

Parameters

const TDesC & aSqlStmt16-bit SELECT sql query
TDes & aDestRefers to the place where the column data will be copied

SelectTextL(const TDesC8 &, TDes &)

IMPORT_C TIntSelectTextL(const TDesC8 &aSqlStmt,
TDes &aDest
)

Executes a SELECT query which is expected to return a single row consisting of a single text value and copies that value to the place refered by aDest parameter.

If the destination buffer is not big enough, the function will copy as much data as possible and will return positive value - the character length of the text column.

leave
KErrNotFound, If there is no record, The function may leave with database specific errors categorised as ESqlDbError and other system-wide error codes.

Parameters

const TDesC8 & aSqlStmt8-bit SELECT sql query
TDes & aDestRefers to the place where the column data will be copied

SetDatabase(RSqlDatabase &)

IMPORT_C voidSetDatabase(RSqlDatabase &aDatabase)

Parameters

RSqlDatabase & aDatabase

Member Data Documentation

CSqlDatabaseImpl * iDatabaseImpl

CSqlDatabaseImpl *iDatabaseImpl[private]