summaryrefslogtreecommitdiffstats
path: root/src/sql/drivers/odbc/qsql_odbc.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/sql/drivers/odbc/qsql_odbc.cpp')
-rw-r--r--src/sql/drivers/odbc/qsql_odbc.cpp36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/sql/drivers/odbc/qsql_odbc.cpp b/src/sql/drivers/odbc/qsql_odbc.cpp
index 8c4ec484cc..19d669b8c3 100644
--- a/src/sql/drivers/odbc/qsql_odbc.cpp
+++ b/src/sql/drivers/odbc/qsql_odbc.cpp
@@ -50,6 +50,7 @@
#include <QDebug>
#include <QSqlQuery>
#include <QtSql/private/qsqldriver_p.h>
+#include <QtSql/private/qsqlresult_p.h>
QT_BEGIN_NAMESPACE
@@ -143,6 +144,41 @@ private:
QChar quote;
};
+class QODBCResultPrivate;
+
+class QODBCResult: public QSqlResult
+{
+public:
+ QODBCResult(const QODBCDriver *db, QODBCDriverPrivate *p);
+ virtual ~QODBCResult();
+
+ bool prepare(const QString &query);
+ bool exec();
+
+ QVariant lastInsertId() const;
+ QVariant handle() const;
+ virtual void setForwardOnly(bool forward);
+
+protected:
+ bool fetchNext();
+ bool fetchFirst();
+ bool fetchLast();
+ bool fetchPrevious();
+ bool fetch(int i);
+ bool reset (const QString &query);
+ QVariant data(int field);
+ bool isNull(int field);
+ int size();
+ int numRowsAffected();
+ QSqlRecord record() const;
+ void virtual_hook(int id, void *data);
+ void detachFromResultSet();
+ bool nextResult();
+
+private:
+ QODBCResultPrivate *d;
+};
+
class QODBCResultPrivate
{
public: