source: trunk/include/qsqlresult.h

Last change on this file was 196, checked in by rudi, 14 years ago

Add SQL module (currently it isn't build by default, however it's needed for QtDesigner)

File size: 3.5 KB
RevLine 
[196]1/****************************************************************************
2**
3** Definition of QSqlResult class
4**
5** Created : 2000-11-03
6**
7** Copyright (C) 2005-2007 Trolltech ASA. All rights reserved.
8**
9** This file is part of the sql module of the Qt GUI Toolkit.
10**
11** This file may be distributed under the terms of the Q Public License
12** as defined by Trolltech ASA of Norway and appearing in the file
13** LICENSE.QPL included in the packaging of this file.
14**
15** This file may be distributed and/or modified under the terms of the
16** GNU General Public License version 2 as published by the Free Software
17** Foundation and appearing in the file LICENSE.GPL included in the
18** packaging of this file.
19**
20** Licensees holding valid Qt Enterprise Edition licenses may use this
21** file in accordance with the Qt Commercial License Agreement provided
22** with the Software.
23**
24** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
25** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
26**
27** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
28** information about Qt Commercial License Agreements.
29** See http://www.trolltech.com/qpl/ for QPL licensing information.
30** See http://www.trolltech.com/gpl/ for GPL licensing information.
31**
32** Contact info@trolltech.com if any conditions of this licensing are
33** not clear to you.
34**
35**********************************************************************/
36
37#ifndef QSQLRESULT_H
38#define QSQLRESULT_H
39
40#ifndef QT_H
41#include "qstring.h"
42#include "qvariant.h"
43#include "qsqlerror.h"
44#include "qsqlfield.h"
45#include "qsql.h"
46#endif // QT_H
47
48#if !defined( QT_MODULE_SQL ) || defined( QT_LICENSE_PROFESSIONAL )
49#define QM_EXPORT_SQL
50#else
51#define QM_EXPORT_SQL Q_EXPORT
52#endif
53
54#ifndef QT_NO_SQL
55
56class QSqlDriver;
57class QSql;
58class QSqlResultPrivate;
59class QSqlExtension;
60
61class QM_EXPORT_SQL QSqlResult
62{
63friend class QSqlQuery;
64friend class QSqlResultShared;
65public:
66 virtual ~QSqlResult();
67
68 // BCI HACK - remove in 4.0
69 void setExtension( QSqlExtension * ext );
70 QSqlExtension * extension();
71
72protected:
73 QSqlResult(const QSqlDriver * db );
74 int at() const;
75 QString lastQuery() const;
76 QSqlError lastError() const;
77 bool isValid() const;
78 bool isActive() const;
79 bool isSelect() const;
80 bool isForwardOnly() const;
81 const QSqlDriver* driver() const;
82 virtual void setAt( int at );
83 virtual void setActive( bool a );
84 virtual void setLastError( const QSqlError& e );
85 virtual void setQuery( const QString& query );
86 virtual void setSelect( bool s );
87 virtual void setForwardOnly( bool forward );
88
89 virtual QVariant data( int i ) = 0;
90 virtual bool isNull( int i ) = 0;
91 virtual bool reset ( const QString& sqlquery ) = 0;
92 virtual bool fetch( int i ) = 0;
93 virtual bool fetchNext();
94 virtual bool fetchPrev();
95 virtual bool fetchFirst() = 0;
96 virtual bool fetchLast() = 0;
97 virtual int size() = 0;
98 virtual int numRowsAffected() = 0;
99private:
100 QSqlResultPrivate* d;
101 bool forwardOnly;
102
103private: // Disabled copy constructor and operator=
104#if defined(Q_DISABLE_COPY)
105 QSqlResult( const QSqlResult & );
106 QSqlResult &operator=( const QSqlResult & );
107#endif
108};
109
110#endif // QT_NO_SQL
111#endif
Note: See TracBrowser for help on using the repository browser.