diff options
Diffstat (limited to 'src/sql/drivers/odbc')
-rw-r--r-- | src/sql/drivers/odbc/qsql_odbc.cpp | 14 | ||||
-rw-r--r-- | src/sql/drivers/odbc/qsql_odbc.h | 1 |
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: |