BPS query class.
More...
#include <bpsquery.h>
List of all members.
Public Member Functions |
| int | at () const |
| void | bind (const QVariant &aValue, QSql::ParamType aParamType=QSql::In) |
| | Bind a value to a SQL parameter.
|
| QVariant | boundValue (int aField) const |
| | Get an Out or InOut bound value from the last execute.
|
| | BpsQuery (BpsDatastore *aDatastore) |
| | Constructor for the BpsQuery objects.
|
|
void | clear () |
| | Clears the result set and releases any local or database resources held by the query.
|
| BpsDatastore * | datastore () const |
| void | execute (const QString &aSql=QString()) |
| | Execute a query.
|
| void | execute (const QVariantList &aValues) |
| | Execute a query.
|
| bool | first () |
| | Retrieves the first record in the result, if available, and positions the query on the retrieved record.
|
| bool | isActive () const |
| bool | isForwardOnly () const |
| bool | isNull (int aField) const |
| | Check if a value of the current cursor row is NULL.
|
| bool | isSelect () const |
| bool | isValid () const |
| bool | last () |
| | Retrieves the last record in the result, if available, and positions the query on the retrieved record.
|
| bool | next () |
| | Retrieves the next record in the result, if available, and positions the query on the retrieved record.
|
| int | numRowsAffected () const |
| void | prepare (const QString &aSql) |
| | Prepare a SQL statement.
|
| bool | previous () |
| | Retrieves the previous record in the result, if available, and positions the query on the retrieved record.
|
| QSqlQuery * | query () const |
| QSqlRecord | record () const |
| bool | seek (int aIndex, bool aRelative=false) |
| | Retrieves the record at position index, if available, and positions the query on the retrieved record.
|
| void | setForwardOnly (bool aForward=true) |
| | Enable or disable forward only mode.
|
| int | size () const |
| QString | sql () const |
| QVariant | value (int aField) const |
| | Get a field value from the current cursor row.
|
| BpsSqlValues | values () const |
| QVariantMap | valuesAsMap () const |
Detailed Description
BPS query class.
This class is used to perform queries on a datastore connection represented by class BpsDatastore.
Constructor & Destructor Documentation
Constructor for the BpsQuery objects.
- Parameters:
-
Member Function Documentation
| int BpsQuery::at |
( |
| ) |
const |
- Returns:
- The current internal position of the query. The first record is at position zero. If the position is invalid, the value is BeforeFirstRow or AfterLastRow, which are special negative values.
| void BpsQuery::bind |
( |
const QVariant & |
aValue, |
|
|
QSql::ParamType |
aParamType = QSql::In |
|
) |
| |
Bind a value to a SQL parameter.
- Parameters:
-
| [in] | aValue | The value to bind. |
| [in] | aParamType | Optional parameter type; default type is QSql::In. |
| QVariant BpsQuery::boundValue |
( |
int |
aField | ) |
const |
Get an Out or InOut bound value from the last execute.
- Parameters:
-
| [in] | aField | The index of the bound field. |
- Returns:
- The bound value of the field.
- Returns:
- Pointer to the BpsDatastore object which this query belongs to.
| void BpsQuery::execute |
( |
const QString & |
aSql = QString() | ) |
|
Execute a query.
- Parameters:
-
| [in] | aSql | Supply a SQL statement here if no previous prepare/bind have been performed. |
| void BpsQuery::execute |
( |
const QVariantList & |
aValues | ) |
|
Execute a query.
This is a convenience function where a list of values can be passed in as bind values. The bind values are of type QSql::In. It is required to do a prepare in advance.
- Parameters:
-
| [in] | aValues | A list of bind values. |
Retrieves the first record in the result, if available, and positions the query on the retrieved record.
- Note:
- The result must be in an active state and select must be true before calling this function or it will do nothing and return false.
- Returns:
- True if successful. If unsuccessful the query position is set to an invalid position and false is returned.
| bool BpsQuery::isActive |
( |
| ) |
const |
- Returns:
- True if query is active (has an open cursor), false if not.
| bool BpsQuery::isForwardOnly |
( |
| ) |
const |
| bool BpsQuery::isNull |
( |
int |
aField | ) |
const |
Check if a value of the current cursor row is NULL.
- Parameters:
-
| [in] | aField | The column index of the field. |
- Returns:
- True if the value is NULL, false otherwise.
| bool BpsQuery::isSelect |
( |
| ) |
const |
- Returns:
- True if the executed query is a select statement, false if not.
| bool BpsQuery::isValid |
( |
| ) |
const |
- Returns:
- True if the query cursor of a select is currently at a valid position, else false.
Retrieves the last record in the result, if available, and positions the query on the retrieved record.
- Note:
- The result must be in an active state and select must be true before calling this function or it will do nothing and return false. If unsuccessful the query position is set to an invalid position.
- Returns:
- True if record successfully retrieved, false otherwise.
Retrieves the next record in the result, if available, and positions the query on the retrieved record.
- Note:
- The result must be in an active state and select must be true before calling this function or it will do nothing and return false.
The following rules apply:
- If the result is currently located before the first record, e.g. immediately after a query is executed, an attempt is made to retrieve the first record.
- If the result is currently located after the last record, there is no change and false is returned.
- If the result is located somewhere in the middle, an attempt is made to retrieve the next record.
- If the record could not be retrieved, the result is positioned after the last record and false is returned.
- Returns:
- True if the record is successfully retrieved, false otherwise.
| int BpsQuery::numRowsAffected |
( |
| ) |
const |
- Returns:
- The number of rows affected by the result's SQL statement, or -1 if it cannot be determined.
- Note:
- For SELECT statements, the value is undefined; use size() instead.
-
If the query is not active (active is false), -1 is returned.
| void BpsQuery::prepare |
( |
const QString & |
aSql | ) |
|
Prepare a SQL statement.
This is normally used in conjunction with binding. If no binding is used, the SQL statement can be directly supplied to execute() instead of calling prepare.
- Parameters:
-
| [in] | aSql | The SQL statement to prepare. |
| bool BpsQuery::previous |
( |
| ) |
|
Retrieves the previous record in the result, if available, and positions the query on the retrieved record.
- Note:
- The result must be in an active state and select must be true before calling this function or it will do nothing and return false.
The following rules apply:
- If the result is currently located before the first record, there is no change and false is returned.
- If the result is currently located after the last record, an attempt is made to retrieve the last record.
- If the result is somewhere in the middle, an attempt is made to retrieve the previous record.
- If the record could not be retrieved, the result is positioned before the first record and false is returned. If the record is successfully retrieved, true is returned.
- Returns:
- true if record successfully retrieved, false otherwise.
| QSqlQuery* BpsQuery::query |
( |
| ) |
const |
- Returns:
- The internal QSqlQuery
| QSqlRecord BpsQuery::record |
( |
| ) |
const |
- Note:
- Be aware that QSqlRecord will return field names in upper case for Oracle, and in lower case for PostgreSQL.
- Returns:
- The current row as QSqlRecord.
| bool BpsQuery::seek |
( |
int |
aIndex, |
|
|
bool |
aRelative = false |
|
) |
| |
Retrieves the record at position index, if available, and positions the query on the retrieved record.
The first record is at position 0. Note that the query must be in an active state and select must be true before calling this function.
If aRelative is false (the default), the following rules apply:
- If index is negative, the result is positioned before the first record and false is returned.
- Otherwise, an attempt is made to move to the record at position index.
- If the record at position index could not be retrieved, the result is positioned after the last record and false is returned.
If aRelative is true, the following rules apply:
- If the result is currently positioned before the first record or on the first record, and index is negative, there is no change, and false is returned.
- If the result is currently located after the last record, and index is positive, there is no change, and false is returned.
- If the result is currently located somewhere in the middle, and the relative offset index moves the result below zero, the result is positioned before the first record and false is returned.
- Otherwise, an attempt is made to move to the record index records ahead of the current record (or index records behind the current record if index is negative).
- If the record at offset index could not be retrieved, the result is positioned after the last record if index >= 0, (or before the first record if index is negative), and false is returned.
- Parameters:
-
| [in] | aIndex | The absolute or relative index. |
| [in] | aRelative | True for relative mode, false for absolute mode. |
- Returns:
- True if record successfully retrieved, false otherwise.
| void BpsQuery::setForwardOnly |
( |
bool |
aForward = true | ) |
|
Enable or disable forward only mode.
If forwardOnly is true, only next() and seek() with positive values are allowed for navigating the results. Forward only mode needs far less memory since results do not need to be cached. ForwardOnly is enabled by default (unlike QSqlQuery!); disable it before executing a random access query in case.
- Parameters:
-
| aForward | Ommit parameter or set true to enable forward only mode; set false to disable it. |
- See also:
- isForwardOnly()
| int BpsQuery::size |
( |
| ) |
const |
- Returns:
- The size of the select result set (number of rows returned).
- Note:
- If active or select is false, size will be -1.
To determine the number of rows affected by a non-SELECT statement, use numRowsAffected() instead.
| QString BpsQuery::sql |
( |
| ) |
const |
- Returns:
- The SQL of the last query, or an empty string if there is no last query.
| QVariant BpsQuery::value |
( |
int |
aField | ) |
const |
Get a field value from the current cursor row.
- Parameters:
-
| [in] | aField | The column index of the field. |
- Returns:
- The value of the field.
| QVariantMap BpsQuery::valuesAsMap |
( |
| ) |
const |
- Note:
- Unlike record(), the field names are always lower case in the returned map.
- Returns:
- The current row as QVariantMap.
The documentation for this class was generated from the following file: