<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/src/sql/qsqlrecord.cpp:151 --> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>QSqlRecord Class</title> <style type="text/css"><!-- fn { margin-left: 1cm; text-indent: -1cm; } a:link { color: #004faf; text-decoration: none } a:visited { color: #672967; text-decoration: none } body { background: #ffffff; color: black; } --></style> </head> <body> <table border="0" cellpadding="0" cellspacing="0" width="100%"> <tr bgcolor="#E5E5E5"> <td valign=center> <a href="index.html"> <font color="#004faf">Home</font></a> | <a href="classes.html"> <font color="#004faf">All Classes</font></a> | <a href="mainclasses.html"> <font color="#004faf">Main Classes</font></a> | <a href="annotated.html"> <font color="#004faf">Annotated</font></a> | <a href="groups.html"> <font color="#004faf">Grouped Classes</font></a> | <a href="functions.html"> <font color="#004faf">Functions</font></a> </td> <td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>QSqlRecord Class Reference<br><small>[<a href="sql.html">sql module</a>]</small></h1> <p>The QSqlRecord class encapsulates a database record, i.e. a set of database fields. <a href="#details">More...</a> <p><tt>#include <<a href="qsqlrecord-h.html">qsqlrecord.h</a>></tt> <p>Inherited by <a href="qsqlcursor.html">QSqlCursor</a> and <a href="qsqlindex.html">QSqlIndex</a>. <p><a href="qsqlrecord-members.html">List of all member functions.</a> <h2>Public Members</h2> <ul> <li class=fn><a href="#QSqlRecord"><b>QSqlRecord</b></a> ()</li> <li class=fn><a href="#QSqlRecord-2"><b>QSqlRecord</b></a> ( const QSqlRecord & other )</li> <li class=fn>QSqlRecord & <a href="#operator-eq"><b>operator=</b></a> ( const QSqlRecord & other )</li> <li class=fn>virtual <a href="#~QSqlRecord"><b>~QSqlRecord</b></a> ()</li> <li class=fn>virtual QVariant <a href="#value"><b>value</b></a> ( int i ) const</li> <li class=fn>virtual QVariant <a href="#value-2"><b>value</b></a> ( const QString & name ) const</li> <li class=fn>virtual void <a href="#setValue"><b>setValue</b></a> ( int i, const QVariant & val )</li> <li class=fn>virtual void <a href="#setValue-2"><b>setValue</b></a> ( const QString & name, const QVariant & val )</li> <li class=fn>bool <a href="#isGenerated-2"><b>isGenerated</b></a> ( int i ) const</li> <li class=fn>bool <a href="#isGenerated"><b>isGenerated</b></a> ( const QString & name ) const</li> <li class=fn>virtual void <a href="#setGenerated"><b>setGenerated</b></a> ( const QString & name, bool generated )</li> <li class=fn>virtual void <a href="#setGenerated-2"><b>setGenerated</b></a> ( int i, bool generated )</li> <li class=fn>virtual void <a href="#setNull"><b>setNull</b></a> ( int i )</li> <li class=fn>virtual void <a href="#setNull-2"><b>setNull</b></a> ( const QString & name )</li> <li class=fn>bool <a href="#isNull-4"><b>isNull</b></a> ( int i ) const</li> <li class=fn>bool <a href="#isNull"><b>isNull</b></a> ( const QString & name ) const</li> <li class=fn>int <a href="#position"><b>position</b></a> ( const QString & name ) const</li> <li class=fn>QString <a href="#fieldName"><b>fieldName</b></a> ( int i ) const</li> <li class=fn>QSqlField * <a href="#field"><b>field</b></a> ( int i )</li> <li class=fn>QSqlField * <a href="#field-2"><b>field</b></a> ( const QString & name )</li> <li class=fn>const QSqlField * <a href="#field-3"><b>field</b></a> ( int i ) const</li> <li class=fn>const QSqlField * <a href="#field-4"><b>field</b></a> ( const QString & name ) const</li> <li class=fn>virtual void <a href="#append"><b>append</b></a> ( const QSqlField & field )</li> <li class=fn>virtual void <a href="#insert"><b>insert</b></a> ( int pos, const QSqlField & field )</li> <li class=fn>virtual void <a href="#remove"><b>remove</b></a> ( int pos )</li> <li class=fn>bool <a href="#isEmpty"><b>isEmpty</b></a> () const</li> <li class=fn>bool <a href="#contains"><b>contains</b></a> ( const QString & name ) const</li> <li class=fn>virtual void <a href="#clear"><b>clear</b></a> ()</li> <li class=fn>virtual void <a href="#clearValues"><b>clearValues</b></a> ( bool nullify = FALSE )</li> <li class=fn>uint <a href="#count"><b>count</b></a> () const</li> <li class=fn>virtual QString <a href="#toString"><b>toString</b></a> ( const QString & prefix = QString::null, const QString & sep = "," ) const</li> <li class=fn>virtual QStringList <a href="#toStringList"><b>toStringList</b></a> ( const QString & prefix = QString::null ) const</li> </ul> <hr><a name="details"></a><h2>Detailed Description</h2> The QSqlRecord class encapsulates a database record, i.e. a set of database fields. <p> <p> The QSqlRecord class encapsulates the functionality and characteristics of a database record (usually a table or view within the database). QSqlRecords support adding and removing fields as well as setting and retrieving field values. <p> QSqlRecord is <a href="shclass.html#implicitly-shared">implicitly shared</a>. This means you can make copies of the record in time O(1). If multiple QSqlRecord instances share the same data and one is modifying the record's data then this modifying instance makes a copy and modifies its private copy - thus it does not affect other instances. <p> <p>See also <a href="qsqlrecordinfo.html">QSqlRecordInfo</a> and <a href="database.html">Database Classes</a>. <hr><h2>Member Function Documentation</h2> <h3 class=fn><a name="QSqlRecord"></a>QSqlRecord::QSqlRecord () </h3> Constructs an empty record. <h3 class=fn><a name="QSqlRecord-2"></a>QSqlRecord::QSqlRecord ( const <a href="qsqlrecord.html">QSqlRecord</a> & other ) </h3> Constructs a copy of <em>other</em>. <h3 class=fn><a name="~QSqlRecord"></a>QSqlRecord::~QSqlRecord ()<tt> [virtual]</tt> </h3> Destroys the object and frees any allocated resources. <h3 class=fn>void <a name="append"></a>QSqlRecord::append ( const <a href="qsqlfield.html">QSqlField</a> & field )<tt> [virtual]</tt> </h3> Append a copy of field <em>field</em> to the end of the record. <p>Reimplemented in <a href="qsqlindex.html#append">QSqlIndex</a>. <h3 class=fn>void <a name="clear"></a>QSqlRecord::clear ()<tt> [virtual]</tt> </h3> Removes all the record's fields. <p> <p>See also <a href="#clearValues">clearValues</a>(). <p>Reimplemented in <a href="qsqlcursor.html#clear">QSqlCursor</a>. <h3 class=fn>void <a name="clearValues"></a>QSqlRecord::clearValues ( bool nullify = FALSE )<tt> [virtual]</tt> </h3> Clears the value of all fields in the record. If <em>nullify</em> is TRUE, (the default is FALSE), each field is set to NULL. <h3 class=fn>bool <a name="contains"></a>QSqlRecord::contains ( const <a href="qstring.html">QString</a> & name ) const </h3> Returns TRUE if there is a field in the record called <em>name</em>; otherwise returns FALSE. <h3 class=fn>uint <a name="count"></a>QSqlRecord::count () const </h3> Returns the number of fields in the record. <h3 class=fn><a href="qsqlfield.html">QSqlField</a> * <a name="field"></a>QSqlRecord::field ( int i ) </h3> Returns the field at position <em>i</em> within the record, or 0 if it cannot be found. <h3 class=fn><a href="qsqlfield.html">QSqlField</a> * <a name="field-2"></a>QSqlRecord::field ( const <a href="qstring.html">QString</a> & name ) </h3> This is an overloaded member function, provided for convenience. It behaves essentially like the above function. <p> Returns the field called <em>name</em> within the record, or 0 if it cannot be found. Field names are not case-sensitive. <h3 class=fn>const <a href="qsqlfield.html">QSqlField</a> * <a name="field-3"></a>QSqlRecord::field ( int i ) const </h3> This is an overloaded member function, provided for convenience. It behaves essentially like the above function. <p> <h3 class=fn>const <a href="qsqlfield.html">QSqlField</a> * <a name="field-4"></a>QSqlRecord::field ( const <a href="qstring.html">QString</a> & name ) const </h3> This is an overloaded member function, provided for convenience. It behaves essentially like the above function. <p> Returns the field called <em>name</em> within the record, or 0 if it cannot be found. Field names are not case-sensitive. <h3 class=fn><a href="qstring.html">QString</a> <a name="fieldName"></a>QSqlRecord::fieldName ( int i ) const </h3> Returns the name of the field at position <em>i</em>. If the field does not exist, <a href="qstring.html#QString-null">QString::null</a> is returned. <h3 class=fn>void <a name="insert"></a>QSqlRecord::insert ( int pos, const <a href="qsqlfield.html">QSqlField</a> & field )<tt> [virtual]</tt> </h3> Insert a copy of <em>field</em> at position <em>pos</em>. If a field already exists at <em>pos</em>, it is removed. <h3 class=fn>bool <a name="isEmpty"></a>QSqlRecord::isEmpty () const </h3> Returns TRUE if there are no fields in the record; otherwise returns FALSE. <h3 class=fn>bool <a name="isGenerated"></a>QSqlRecord::isGenerated ( const <a href="qstring.html">QString</a> & name ) const </h3> Returns TRUE if the record has a field called <em>name</em> and this field is to be generated (the default); otherwise returns FALSE. <p> <p>See also <a href="#setGenerated">setGenerated</a>(). <h3 class=fn>bool <a name="isGenerated-2"></a>QSqlRecord::isGenerated ( int i ) const </h3> This is an overloaded member function, provided for convenience. It behaves essentially like the above function. <p> Returns TRUE if the record has a field at position <em>i</em> and this field is to be generated (the default); otherwise returns FALSE. <p> <p>See also <a href="#setGenerated">setGenerated</a>(). <h3 class=fn>bool <a name="isNull"></a>QSqlRecord::isNull ( const <a href="qstring.html">QString</a> & name ) const </h3> Returns TRUE if the field called <em>name</em> is NULL or if there is no field called <em>name</em>; otherwise returns FALSE. <p> <p>See also <a href="#position">position</a>(). <h3 class=fn>bool <a name="isNull-4"></a>QSqlRecord::isNull ( int i ) const </h3> This is an overloaded member function, provided for convenience. It behaves essentially like the above function. <p> Returns TRUE if the field <em>i</em> is NULL or if there is no field at position <em>i</em>; otherwise returns FALSE. <p> <p>See also <a href="#fieldName">fieldName</a>(). <h3 class=fn><a href="qsqlrecord.html">QSqlRecord</a> & <a name="operator-eq"></a>QSqlRecord::operator= ( const <a href="qsqlrecord.html">QSqlRecord</a> & other ) </h3> Sets the record equal to <em>other</em>. <h3 class=fn>int <a name="position"></a>QSqlRecord::position ( const <a href="qstring.html">QString</a> & name ) const </h3> Returns the position of the field called <em>name</em> within the record, or -1 if it cannot be found. Field names are not case-sensitive. If more than one field matches, the first one is returned. <h3 class=fn>void <a name="remove"></a>QSqlRecord::remove ( int pos )<tt> [virtual]</tt> </h3> Removes the field at <em>pos</em>. If <em>pos</em> does not exist, nothing happens. <p>Reimplemented in <a href="qsqlcursor.html#remove">QSqlCursor</a>. <h3 class=fn>void <a name="setGenerated"></a>QSqlRecord::setGenerated ( const <a href="qstring.html">QString</a> & name, bool generated )<tt> [virtual]</tt> </h3> Sets the generated flag for the field called <em>name</em> to <em>generated</em>. If the field does not exist, nothing happens. Only fields that have <em>generated</em> set to TRUE are included in the SQL that is generated, e.g. by <a href="qsqlcursor.html">QSqlCursor</a>. <p> <p>See also <a href="#isGenerated">isGenerated</a>(). <p>Reimplemented in <a href="qsqlcursor.html#setGenerated">QSqlCursor</a>. <h3 class=fn>void <a name="setGenerated-2"></a>QSqlRecord::setGenerated ( int i, bool generated )<tt> [virtual]</tt> </h3> This is an overloaded member function, provided for convenience. It behaves essentially like the above function. <p> Sets the generated flag for the field <em>i</em> to <em>generated</em>. <p> <p>See also <a href="#isGenerated">isGenerated</a>(). <p>Reimplemented in <a href="qsqlcursor.html#setGenerated-2">QSqlCursor</a>. <h3 class=fn>void <a name="setNull"></a>QSqlRecord::setNull ( int i )<tt> [virtual]</tt> </h3> Sets the value of field <em>i</em> to NULL. If the field does not exist, nothing happens. <h3 class=fn>void <a name="setNull-2"></a>QSqlRecord::setNull ( const <a href="qstring.html">QString</a> & name )<tt> [virtual]</tt> </h3> This is an overloaded member function, provided for convenience. It behaves essentially like the above function. <p> Sets the value of the field called <em>name</em> to NULL. If the field does not exist, nothing happens. <h3 class=fn>void <a name="setValue"></a>QSqlRecord::setValue ( int i, const <a href="qvariant.html">QVariant</a> & val )<tt> [virtual]</tt> </h3> Sets the value of the field at position <em>i</em> to <em>val</em>. If the field does not exist, nothing happens. <p>Examples: <a href="sql.html#x2196">sql/overview/insert/main.cpp</a>, <a href="qsqlcursor.html#x2448">sql/overview/insert2/main.cpp</a>, <a href="sql.html#x2270">sql/overview/subclass5/main.cpp</a>, <a href="sql.html#x2203">sql/overview/update/main.cpp</a>, and <a href="sqltable-example.html#x2464">sql/sqltable/main.cpp</a>. <h3 class=fn>void <a name="setValue-2"></a>QSqlRecord::setValue ( const <a href="qstring.html">QString</a> & name, const <a href="qvariant.html">QVariant</a> & val )<tt> [virtual]</tt> </h3> This is an overloaded member function, provided for convenience. It behaves essentially like the above function. <p> Sets the value of the field called <em>name</em> to <em>val</em>. If the field does not exist, nothing happens. <h3 class=fn><a href="qstring.html">QString</a> <a name="toString"></a>QSqlRecord::toString ( const <a href="qstring.html">QString</a> & prefix = QString::null, const <a href="qstring.html">QString</a> & sep = "," ) const<tt> [virtual]</tt> </h3> Returns a list of all the record's field names as a string separated by <em>sep</em>. <p> Note that fields which are not generated are <em>not</em> included (see <a href="#isGenerated">isGenerated</a>()). The returned string is suitable, for example, for generating SQL SELECT statements. If a <em>prefix</em> is specified, e.g. a table name, all fields are prefixed in the form: <p> "<em>prefix</em>.<fieldname>" <h3 class=fn><a href="qstringlist.html">QStringList</a> <a name="toStringList"></a>QSqlRecord::toStringList ( const <a href="qstring.html">QString</a> & prefix = QString::null ) const<tt> [virtual]</tt> </h3> Returns a list of all the record's field names, each having the prefix <em>prefix</em>. <p> Note that fields which have generated set to FALSE are <em>not</em> included. (See <a href="#isGenerated">isGenerated</a>()). If <em>prefix</em> is supplied, e.g. a table name, all fields are prefixed in the form: <p> "<em>prefix</em>.<fieldname>" <h3 class=fn><a href="qvariant.html">QVariant</a> <a name="value"></a>QSqlRecord::value ( int i ) const<tt> [virtual]</tt> </h3> Returns the value of the field located at position <em>i</em> in the record. If field <em>i</em> does not exist the resultant behaviour is undefined. <p> This function should be used with <a href="qsqlquery.html">QSqlQuery</a>s. When working with a <a href="qsqlcursor.html">QSqlCursor</a> the <a href="qsqlquery.html#value">value(const QString&)</a> overload which uses field names is more appropriate. <p>Example: <a href="sql.html#x2204">sql/overview/update/main.cpp</a>. <h3 class=fn><a href="qvariant.html">QVariant</a> <a name="value-2"></a>QSqlRecord::value ( const <a href="qstring.html">QString</a> & name ) const<tt> [virtual]</tt> </h3> This is an overloaded member function, provided for convenience. It behaves essentially like the above function. <p> Returns the value of the field called <em>name</em> in the record. If field <em>name</em> does not exist the resultant behaviour is undefined. <!-- eof --> <hr><p> This file is part of the <a href="index.html">Qt toolkit</a>. Copyright © 1995-2007 <a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center> <table width=100% cellspacing=0 border=0><tr> <td>Copyright © 2007 <a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a> <td align=right><div align=right>Qt 3.3.8</div> </table></div></address></body> </html>