diff options
author | Gunnar Sletta <gunnar@trolltech.com> | 2009-11-04 06:29:46 (GMT) |
---|---|---|
committer | Gunnar Sletta <gunnar@trolltech.com> | 2009-11-04 06:29:46 (GMT) |
commit | 1400ce5b85fbe7c67899f5f62bfd276eecb21ae0 (patch) | |
tree | ccc72723d2305b4d24f9ec296e6d9ee7d3d9d16a /src/sql/drivers | |
parent | 867be3fd7a2017377e8ae5cc3ab789b3b01733bd (diff) | |
parent | be71186962db5974113e89b0e7c7aa1ab3987379 (diff) | |
download | Qt-1400ce5b85fbe7c67899f5f62bfd276eecb21ae0.zip Qt-1400ce5b85fbe7c67899f5f62bfd276eecb21ae0.tar.gz Qt-1400ce5b85fbe7c67899f5f62bfd276eecb21ae0.tar.bz2 |
Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/qt into 4.6
Diffstat (limited to 'src/sql/drivers')
-rw-r--r-- | src/sql/drivers/tds/qsql_tds.cpp | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/src/sql/drivers/tds/qsql_tds.cpp b/src/sql/drivers/tds/qsql_tds.cpp index 2508833..ca1502c 100644 --- a/src/sql/drivers/tds/qsql_tds.cpp +++ b/src/sql/drivers/tds/qsql_tds.cpp @@ -164,13 +164,13 @@ Q_GLOBAL_STATIC(QTDSErrorHash, errs) extern "C" { static int CS_PUBLIC qTdsMsgHandler (DBPROCESS* dbproc, - DBINT /*msgno*/, + DBINT msgno, int msgstate, int severity, char* msgtext, - char* /*srvname*/, + char* srvname, char* /*procname*/, - int /*line*/) + int line) { QTDSResultPrivate* p = errs()->value(dbproc); @@ -181,9 +181,20 @@ static int CS_PUBLIC qTdsMsgHandler (DBPROCESS* dbproc, } if (severity > 0) { - QString errMsg = QString::fromLatin1("%1 (%2)").arg(QString::fromAscii(msgtext)).arg( - msgstate); + QString errMsg = QString::fromLatin1("%1 (Msg %2, Level %3, State %4, Server %5, Line %6)") + .arg(QString::fromAscii(msgtext)) + .arg(msgno) + .arg(severity) + .arg(msgstate) + .arg(QString::fromAscii(srvname)) + .arg(line); p->addErrorMsg(errMsg); + if (severity > 10) { + // Severe messages are really errors in the sense of lastError + errMsg = p->getErrorMsgs(); + p->lastError = qMakeError(errMsg, QSqlError::UnknownError, msgno); + p->clearErrorMsgs(); + } } return INT_CANCEL; |