diff options
| author | Qt Continuous Integration System <qt-info@nokia.com> | 2011-12-01 15:19:03 (GMT) |
|---|---|---|
| committer | Qt Continuous Integration System <qt-info@nokia.com> | 2011-12-01 15:19:03 (GMT) |
| commit | 65378628d1772204d8254d7ec009c94b0ef2da85 (patch) | |
| tree | 56799117c04a7af069006bbc394b5f9601634ab8 /src/sql/drivers/sqlite/qsql_sqlite.cpp | |
| parent | 6a76433c4cceb6e89de6e895e363bdb53134fbb6 (diff) | |
| parent | 572208788f98162af81254977135fe13abae5bf6 (diff) | |
| download | Qt-65378628d1772204d8254d7ec009c94b0ef2da85.zip Qt-65378628d1772204d8254d7ec009c94b0ef2da85.tar.gz Qt-65378628d1772204d8254d7ec009c94b0ef2da85.tar.bz2 | |
Merge branch 'master' of scm.dev.nokia.troll.no:qt/qt-symbian-staging into master-integration
* 'master' of scm.dev.nokia.troll.no:qt/qt-symbian-staging:
QSQLITE support only one statement at a time
Diffstat (limited to 'src/sql/drivers/sqlite/qsql_sqlite.cpp')
| -rw-r--r-- | src/sql/drivers/sqlite/qsql_sqlite.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/sql/drivers/sqlite/qsql_sqlite.cpp b/src/sql/drivers/sqlite/qsql_sqlite.cpp index 9fba6d6..8294a55 100644 --- a/src/sql/drivers/sqlite/qsql_sqlite.cpp +++ b/src/sql/drivers/sqlite/qsql_sqlite.cpp @@ -322,12 +322,14 @@ bool QSQLiteResult::prepare(const QString &query) setSelect(false); + const void *pzTail = NULL; + #if (SQLITE_VERSION_NUMBER >= 3003011) int res = sqlite3_prepare16_v2(d->access, query.constData(), (query.size() + 1) * sizeof(QChar), - &d->stmt, 0); + &d->stmt, &pzTail); #else int res = sqlite3_prepare16(d->access, query.constData(), (query.size() + 1) * sizeof(QChar), - &d->stmt, 0); + &d->stmt, &pzTail); #endif if (res != SQLITE_OK) { @@ -335,6 +337,11 @@ bool QSQLiteResult::prepare(const QString &query) "Unable to execute statement"), QSqlError::StatementError, res)); d->finalize(); return false; + } else if (pzTail && !QString(reinterpret_cast<const QChar *>(pzTail)).trimmed().isEmpty()) { + setLastError(qMakeError(d->access, QCoreApplication::translate("QSQLiteResult", + "Unable to execute multiple statements at a time"), QSqlError::StatementError, SQLITE_MISUSE)); + d->finalize(); + return false; } return true; } |
