QSqlResult

Section: Misc. Reference Manual Pages (3qt)
Updated: 2 February 2007
Index Return to Main Contents
 

NAME

QSqlResult - Abstract interface for accessing data from SQL databases  

SYNOPSIS

#include <qsqlresult.h>

 

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
 

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, or FALSE to signify 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, or FALSE to signify 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, or FALSE to signify 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, or FALSE to signify 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, or FALSE to signify 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 if you can only scroll forward through a result set; otherwise returns 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, or 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 a SQL SELECT statement. The s parameter should be TRUE if the statement is a SELECT statement, or FALSE otherwise.  

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

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

 

SEE ALSO

http://doc.trolltech.com/qsqlresult.html http://www.trolltech.com/faq/tech.html  

COPYRIGHT

Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the license file included in the distribution for a complete license statement.  

AUTHOR

Generated automatically from the source code.  

BUGS

If you find a bug in Qt, please report it as described in http://doc.trolltech.com/bughowto.html. Good bug reports help us to help you. Thank you. The definitive Qt documentation is provided in HTML format; it is located at $QTDIR/doc/html and can be read using Qt Assistant or with a web browser. This man page is provided as a convenience for those users who prefer man pages, although this format is not officially supported by Trolltech. If you find errors in this manual page, please report them to qt-bugs@trolltech.com. Please include the name of the manual page (qsqlresult.3qt) and the Qt version (3.3.8).