Go to the
documentation of this file.
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042 #ifndef QSQL_SQLITE2_H
00043 #define QSQL_SQLITE2_H
00044
00045 #include <QtSql/qsqldriver.h>
00046 #include <QtSql/qsqlresult.h>
00047 #include <QtSql/qsqlrecord.h>
00048 #include <QtSql/qsqlindex.h>
00049 #include <QtSql/private/qsqlcachedresult_p.h>
00050
00051 #if defined (Q_OS_WIN32)
00052 # include <QtCore/qt_windows.h>
00053 #endif
00054
00055 struct sqlite;
00056
00057 QT_BEGIN_HEADER
00058
00059 QT_BEGIN_NAMESPACE
00060
00061 class QSQLite2DriverPrivate;
00062 class QSQLite2ResultPrivate;
00063 class QSQLite2Driver;
00064
00065 class QSQLite2Result : public QSqlCachedResult
00066 {
00067 friend class QSQLite2Driver;
00068 friend class QSQLite2ResultPrivate;
00069 public:
00070 explicit QSQLite2Result(const QSQLite2Driver* db);
00071 ~QSQLite2Result();
00072 QVariant handle() const;
00073
00074 protected:
00075 bool gotoNext(QSqlCachedResult::ValueCache& row, int idx);
00076 bool reset (const QString& query);
00077 int size();
00078 int numRowsAffected();
00079 QSqlRecord record() const;
00080 void virtual_hook(int id, void *data);
00081
00082 private:
00083 QSQLite2ResultPrivate* d;
00084 };
00085
00086 class QSQLite2Driver : public QSqlDriver
00087 {
00088 Q_OBJECT
00089 friend class QSQLite2Result;
00090 public:
00091 explicit QSQLite2Driver(QObject *parent = 0);
00092 explicit QSQLite2Driver(sqlite *connection, QObject *parent = 0);
00093 ~QSQLite2Driver();
00094 bool hasFeature(DriverFeature f) const;
00095 bool open(const QString & db,
00096 const QString & user,
00097 const QString & password,
00098 const QString & host,
00099 int port,
00100 const QString & connOpts);
00101 bool open(const QString & db,
00102 const QString & user,
00103 const QString & password,
00104 const QString & host,
00105 int port) { return open (db, user, password, host, port, QString()); }
00106 void close();
00107 QSqlResult *createResult() const;
00108 bool beginTransaction();
00109 bool commitTransaction();
00110 bool rollbackTransaction();
00111 QStringList tables(QSql::TableType) const;
00112
00113 QSqlRecord record(const QString& tablename) const;
00114 QSqlIndex primaryIndex(const QString &table) const;
00115 QVariant handle() const;
00116 QString escapeIdentifier(const QString &identifier, IdentifierType) const;
00117
00118 private:
00119 QSQLite2DriverPrivate* d;
00120 };
00121
00122 QT_END_NAMESPACE
00123
00124 QT_END_HEADER
00125
00126 #endif // QSQL_SQLITE2_H