Home | All Classes | Main Classes | Annotated | Grouped Classes | Functions |

# QSqlResult Class Reference
[sql module]

The QSqlResult class provides an abstract interface for accessing data from SQL databases. More...

`#include <qsqlresult.h>`

List of all member functions.

## Public Members

- virtual ~QSqlResult ()

## Protected Members

- QSqlResult ( const QSqlDriver * db )
- int at () const
- QString lastQuery () const
- QSqlError lastError () const
- bool isValid () const
- bool isActive () const
- bool isSelect () const
- bool isForwardOnly () const
- const QSqlDriver * driver () const
- virtual void setAt ( int at )
- virtual void setActive ( bool a )
- virtual void setLastError ( const QSqlError & e )
- virtual void setQuery ( const QString & query )
- virtual void setSelect ( bool s )
- virtual void setForwardOnly ( bool forward )
- virtual QVariant data ( int i ) = 0
- virtual bool isNull ( int i ) = 0
- virtual bool reset ( const QString & query ) = 0
- virtual bool fetch ( int i ) = 0
- virtual bool fetchNext ()
- virtual bool fetchPrev ()
- virtual bool fetchFirst () = 0
- virtual bool fetchLast () = 0
- virtual int size () = 0
- virtual int numRowsAffected () = 0

## Detailed Description

The QSqlResult class provides an abstract interface for accessing data from SQL databases.

Normally you would use QSqlQuery instead of QSqlResult since QSqlQuery provides a generic wrapper for database-specific implementations of QSqlResult.

See also QSql and Database Classes.

## Member Function Documentation

### QSqlResult::QSqlResult ( const QSqlDriver * db )`[protected]`

Protected constructor which creates a QSqlResult using database db. The object is initialized to an inactive state.

### QSqlResult::~QSqlResult ()`[virtual]`

Destroys the object and frees any allocated resources.

### int QSqlResult::at () const`[protected]`

Returns the current (zero-based) position of the result.

### QVariant QSqlResult::data ( int i )`[pure virtual protected]`

Returns the data for field i (zero-based) as a QVariant. This function is only called if the result is in an active state and is positioned on a valid record and i is non-negative. Derived classes must reimplement this function and return the value of field i, or QVariant() if it cannot be determined.

### const QSqlDriver * QSqlResult::driver () const`[protected]`

Returns the driver associated with the result.

### bool QSqlResult::fetch ( int i )`[pure virtual protected]`

Positions the result to an arbitrary (zero-based) index i. This function is only called if the result is in an active state. Derived classes must reimplement this function and position the result to the index i, and call setAt() with an appropriate value. Return TRUE to indicate success, FALSE for failure.

### bool QSqlResult::fetchFirst ()`[pure virtual protected]`

Positions the result to the first record in the result. This function is only called if the result is in an active state. Derived classes must reimplement this function and position the result to the first record, and call setAt() with an appropriate value. Return TRUE to indicate success, FALSE for failure.

### bool QSqlResult::fetchLast ()`[pure virtual protected]`

Positions the result to the last record in the result. This function is only called if the result is in an active state. Derived classes must reimplement this function and position the result to the last record, and call setAt() with an appropriate value. Return TRUE to indicate success, FALSE for failure.

### bool QSqlResult::fetchNext ()`[virtual protected]`

Positions the result to the next available record in the result. This function is only called if the result is in an active state. The default implementation calls fetch() with the next index. Derived classes can reimplement this function and position the result to the next record in some other way, and call setAt() with an appropriate value. Return TRUE to indicate success, FALSE for failure.

### bool QSqlResult::fetchPrev ()`[virtual protected]`

Positions the result to the previous available record in the result. This function is only called if the result is in an active state. The default implementation calls fetch() with the previous index. Derived classes can reimplement this function and position the result to the next record in some other way, and call setAt() with an appropriate value. Return TRUE to indicate success, FALSE for failure.

### bool QSqlResult::isActive () const`[protected]`

Returns TRUE if the result has records to be retrieved, otherwise returns FALSE.

### bool QSqlResult::isForwardOnly () const`[protected]`

Returns TRUE when you can only scroll forward through a result set otherwise FALSE

### bool QSqlResult::isNull ( int i )`[pure virtual protected]`

Returns TRUE if the field at position i is NULL, otherwise returns FALSE.

### bool QSqlResult::isSelect () const`[protected]`

Returns TRUE if the current result is from a SELECT statement, otherwise returns FALSE.

### bool QSqlResult::isValid () const`[protected]`

Returns TRUE if the result is positioned on a valid record (that is, the result is not positioned before the first or after the last record); otherwise returns FALSE.

### QSqlError QSqlResult::lastError () const`[protected]`

Returns the last error associated with the result.

### QString QSqlResult::lastQuery () const`[protected]`

Returns the current SQL query text, or QString::null if there is none.

### int QSqlResult::numRowsAffected ()`[pure virtual protected]`

Returns the number of rows affected by the last query executed.

### bool QSqlResult::reset ( const QString & query )`[pure virtual protected]`

Sets the result to use the SQL statement query for subsequent data retrieval. Derived classes must reimplement this function and apply the query to the database. This function is called only after the result is set to an inactive state and is positioned before the first record of the new result. Derived classes should return TRUE if the query was successful and ready to be used, FALSE otherwise.

### void QSqlResult::setActive ( bool a )`[virtual protected]`

Protected function provided for derived classes to set the internal active state to the value of a.

See also isActive().

### void QSqlResult::setAt ( int at )`[virtual protected]`

Protected function provided for derived classes to set the internal (zero-based) result index to at.

See also at().

### void QSqlResult::setForwardOnly ( bool forward )`[virtual protected]`

Sets forward only mode to forward. If forward is TRUE only fetchNext() is allowed for navigating the results. Forward only mode needs far less memory since results do not have to be cached. forward only mode is off by default.

See also fetchNext().

### void QSqlResult::setLastError ( const QSqlError & e )`[virtual protected]`

Protected function provided for derived classes to set the last error to the value of e.

See also lastError().

### void QSqlResult::setQuery ( const QString & query )`[virtual protected]`

Sets the current query for the result to query. The result must be reset() in order to execute the query on the database.

### void QSqlResult::setSelect ( bool s )`[virtual protected]`

Protected function provided for derived classes to indicate whether or not the current statement is an SQL SELECT statement. The s parameter should indicate TRUE if the statement is a SELECT statement, otherwise FALSE.

### int QSqlResult::size ()`[pure virtual protected]`

Returns the size of the result or -1 if it cannot be determined.

This file is part of the Qt toolkit. Copyright © 1995-2002 Trolltech. All Rights Reserved.