summaryrefslogtreecommitdiffstats
path: root/src/sql/drivers/odbc
diff options
context:
space:
mode:
Diffstat (limited to 'src/sql/drivers/odbc')
-rw-r--r--src/sql/drivers/odbc/qsql_odbc.cpp14
-rw-r--r--src/sql/drivers/odbc/qsql_odbc.h1
2 files changed, 7 insertions, 8 deletions
diff --git a/src/sql/drivers/odbc/qsql_odbc.cpp b/src/sql/drivers/odbc/qsql_odbc.cpp
index 04bc0cc894..05f740cb41 100644
--- a/src/sql/drivers/odbc/qsql_odbc.cpp
+++ b/src/sql/drivers/odbc/qsql_odbc.cpp
@@ -1710,19 +1710,17 @@ bool QODBCResult::nextResult()
void QODBCResult::virtual_hook(int id, void *data)
{
switch (id) {
- case QSqlResult::DetachFromResultSet:
- if (d->hStmt)
- SQLCloseCursor(d->hStmt);
- break;
- case QSqlResult::NextResult:
- Q_ASSERT(data);
- *static_cast<bool*>(data) = nextResult();
- break;
default:
QSqlResult::virtual_hook(id, data);
}
}
+void QODBCResult::detachFromResultSet()
+{
+ if (d->hStmt)
+ SQLCloseCursor(d->hStmt);
+}
+
void QODBCResult::setForwardOnly(bool forward)
{
d->userForwardOnly = forward;
diff --git a/src/sql/drivers/odbc/qsql_odbc.h b/src/sql/drivers/odbc/qsql_odbc.h
index a89ce0f9b3..6ae65a0805 100644
--- a/src/sql/drivers/odbc/qsql_odbc.h
+++ b/src/sql/drivers/odbc/qsql_odbc.h
@@ -104,6 +104,7 @@ protected:
int numRowsAffected();
QSqlRecord record() const;
void virtual_hook(int id, void *data);
+ void detachFromResultSet();
bool nextResult();
private: