BPS C++ API  2.24.4
BpsQuery Class Reference

BPS query class. More...

#include <bpsquery.h>

+ Inheritance diagram for BpsQuery:

Public Member Functions

int at () const
 
void bind (const QVariant &aValue)
 Bind a value to a SQL parameter. More...
 
void bind (const QVariantList &aValues)
 Bind a list of value to a SQL parameter. More...
 
 BpsQuery (BpsDatastore *aDatastore)
 Constructor for BpsQuery objects. More...
 
void clear ()
 Clears the result set and releases any local or database resources held by the query.
 
BpsDatastoredatastore () const
 
void execute (const QString &aSql=QString())
 Execute a query. More...
 
void execute (const QVariant &aValue)
 Execute a query. More...
 
void execute (const QVariantList &aValues)
 Execute a query. More...
 
bool first ()
 Retrieves the first record in the result, if available, and positions the query on the retrieved record. More...
 
bool isActive () const
 
bool isForwardOnly () const
 
bool isNull (int aField) const
 Check if a value of the current cursor row is NULL. More...
 
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. More...
 
bool next ()
 Retrieves the next record in the result, if available, and positions the query on the retrieved record. More...
 
int numRowsAffected () const
 
void prepare (const QString &aSql)
 Prepare a SQL statement. More...
 
bool previous ()
 Retrieves the previous record in the result, if available, and positions the query on the retrieved record. More...
 
QSqlQueryquery () 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. More...
 
void setForwardOnly (bool aForward=true)
 Enable or disable forward only mode. More...
 
int size () const
 
QString sql () const
 
QVariant value (int aField) const
 Get a field value from the current cursor row. More...
 
BpsSqlValues values () const
 
QVariantList valuesAsList () const
 
QVariantMap valuesAsMap () const
 
- Public Member Functions inherited from QObject
bool blockSignals (bool block)
 
const QObjectListchildren () const const
 
QMetaObject::Connection connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const const
 
void deleteLater ()
 
void destroyed (QObject *obj)
 
bool disconnect (const char *signal, const QObject *receiver, const char *method) const const
 
bool disconnect (const QObject *receiver, const char *method) const const
 
void dumpObjectInfo ()
 
void dumpObjectInfo () const const
 
void dumpObjectTree ()
 
void dumpObjectTree () const const
 
QList< QByteArraydynamicPropertyNames () const const
 
virtual bool event (QEvent *e)
 
virtual bool eventFilter (QObject *watched, QEvent *event)
 
findChild (const QString &name, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QRegExp &regExp, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QRegularExpression &re, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QString &name, Qt::FindChildOptions options) const const
 
bool inherits (const char *className) const const
 
void installEventFilter (QObject *filterObj)
 
bool isWidgetType () const const
 
bool isWindowType () const const
 
void killTimer (int id)
 
virtual const QMetaObjectmetaObject () const const
 
void moveToThread (QThread *targetThread)
 
QString objectName () const const
 
void objectNameChanged (const QString &objectName)
 
QObjectparent () const const
 
QVariant property (const char *name) const const
 
 Q_CLASSINFO (Name, Value)
 
 Q_DISABLE_COPY (Class)
 
 Q_DISABLE_COPY_MOVE (Class)
 
 Q_DISABLE_MOVE (Class)
 
 Q_EMIT Q_EMIT
 
 Q_ENUM (...)
 
 Q_ENUM_NS (...)
 
 Q_ENUMS (...)
 
 Q_FLAG (...)
 
 Q_FLAG_NS (...)
 
 Q_FLAGS (...)
 
 Q_GADGET Q_GADGET
 
 Q_INTERFACES (...)
 
 Q_INVOKABLE Q_INVOKABLE
 
 Q_NAMESPACE Q_NAMESPACE
 
 Q_NAMESPACE_EXPORT (EXPORT_MACRO)
 
 Q_OBJECT Q_OBJECT
 
 Q_PROPERTY (...)
 
 Q_REVISION Q_REVISION
 
 Q_SET_OBJECT_NAME (Object)
 
 Q_SIGNAL Q_SIGNAL
 
 Q_SIGNALS Q_SIGNALS
 
 Q_SLOT Q_SLOT
 
 Q_SLOTS Q_SLOTS
 
qFindChild (const QObject *obj, const QString &name)
 
QList< T > qFindChildren (const QObject *obj, const QRegExp &regExp)
 
QList< T > qFindChildren (const QObject *obj, const QString &name)
 
 QObject (QObject *parent)
 
qobject_cast (const QObject *object)
 
qobject_cast (QObject *object)
 
 QT_NO_NARROWING_CONVERSIONS_IN_CONNECT QT_NO_NARROWING_CONVERSIONS_IN_CONNECT
 
void removeEventFilter (QObject *obj)
 
void setObjectName (const QString &name)
 
void setParent (QObject *parent)
 
bool setProperty (const char *name, const QVariant &value)
 
bool signalsBlocked () const const
 
int startTimer (int interval, Qt::TimerType timerType)
 
int startTimer (std::chrono::milliseconds time, Qt::TimerType timerType)
 
QThreadthread () const const
 

Additional Inherited Members

- Static Public Member Functions inherited from QObject
QMetaObject::Connection connect (const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, const QObject *context, Functor functor, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, Functor functor)
 
bool disconnect (const QMetaObject::Connection &connection)
 
bool disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *method)
 
bool disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method)
 
bool disconnect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method)
 
QString tr (const char *sourceText, const char *disambiguation, int n)
 
QString trUtf8 (const char *sourceText, const char *disambiguation, int n)
 
- Public Attributes inherited from QObject
typedef QObjectList
 
- Protected Member Functions inherited from QObject
virtual void childEvent (QChildEvent *event)
 
virtual void connectNotify (const QMetaMethod &signal)
 
virtual void customEvent (QEvent *event)
 
virtual void disconnectNotify (const QMetaMethod &signal)
 
bool isSignalConnected (const QMetaMethod &signal) const const
 
int receivers (const char *signal) const const
 
QObjectsender () const const
 
int senderSignalIndex () const const
 
virtual void timerEvent (QTimerEvent *event)
 
- Properties inherited from QObject
 objectName
 

Detailed Description

BPS query class.

This class is used to perform queries on a datastore connection represented by class BpsDatastore.

Constructor & Destructor Documentation

◆ BpsQuery()

BpsQuery::BpsQuery ( BpsDatastore aDatastore)

Constructor for BpsQuery objects.

Parameters
aDatastorePointer to the parent BpsDatastore object.

Member Function Documentation

◆ at()

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.

◆ bind() [1/2]

void BpsQuery::bind ( const QVariant aValue)

Bind a value to a SQL parameter.

Parameters
aValueThe value to bind.

◆ bind() [2/2]

void BpsQuery::bind ( const QVariantList &  aValues)

Bind a list of value to a SQL parameter.

Parameters
aValuesThe list of values to bind.

◆ datastore()

BpsDatastore* BpsQuery::datastore ( ) const
Returns
Pointer to the BpsDatastore object which this query belongs to.

◆ execute() [1/3]

void BpsQuery::execute ( const QString aSql = QString())

Execute a query.

Parameters
aSqlSupply a SQL statement here if no previous prepare/bind have been performed.

◆ execute() [2/3]

void BpsQuery::execute ( const QVariant aValue)

Execute a query.

This is a convenience function where a single value is passed in as bind value. It is required to do a prepare in advance.

Parameters
aValueThe value to bind.

◆ execute() [3/3]

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. It is required to do a prepare in advance.

Parameters
aValuesA list of bind values.

◆ first()

bool BpsQuery::first ( )

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.

◆ isActive()

bool BpsQuery::isActive ( ) const
Returns
True if query is active (has an open cursor), false if not.

◆ isForwardOnly()

bool BpsQuery::isForwardOnly ( ) const
Returns
True if query is in forward only mode; false otherwise.
See also
setForwardOnly(bool forward)

◆ isNull()

bool BpsQuery::isNull ( int  aField) const

Check if a value of the current cursor row is NULL.

Parameters
aFieldThe column index of the field.
Returns
True if the value is NULL, false otherwise.

◆ isSelect()

bool BpsQuery::isSelect ( ) const
Returns
True if the executed query is a select statement, false if not.

◆ isValid()

bool BpsQuery::isValid ( ) const
Returns
True if the query cursor of a select is currently at a valid position, else false.

◆ last()

bool BpsQuery::last ( )

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.

◆ next()

bool BpsQuery::next ( )

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.

◆ numRowsAffected()

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.

◆ prepare()

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
aSqlThe SQL statement to prepare.

◆ previous()

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.

◆ query()

QSqlQuery* BpsQuery::query ( ) const
Returns
The internal QSqlQuery

◆ record()

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.

◆ seek()

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
aIndexThe absolute or relative index.
aRelativeTrue for relative mode, false for absolute mode.
Returns
True if record successfully retrieved, false otherwise.

◆ setForwardOnly()

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
aForwardOmmit parameter or set true to enable forward only mode; set false to disable it.
See also
isForwardOnly()

◆ size()

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.

◆ sql()

QString BpsQuery::sql ( ) const
Returns
The SQL of the last query, or an empty string if there is no last query.

◆ value()

QVariant BpsQuery::value ( int  aField) const

Get a field value from the current cursor row.

Parameters
aFieldThe column index of the field.
Returns
The value of the field.

◆ values()

BpsSqlValues BpsQuery::values ( ) const
Note
Unlike record(), the field names are always lower case in the returned BpsSqlValues.
Returns
The current row as BpsSqlValues.

◆ valuesAsList()

QVariantList BpsQuery::valuesAsList ( ) const
Returns
The current row as QVariantList.

◆ valuesAsMap()

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: