I try to connect sql server using qt libraries. My driver is ODBC and qt is installed on windows.

I return 0 if connection OK or i return error number otherwise.

If i use wrong user name, password or driver name i have error number which is different form 0.
But when DSN name or server name is wrong i get 0 as error number. How can i handle error number for these situations? I try to catch error number through QSqlDatabase object.

Qt Code:
  1. int returnValue = 0;
  2.  
  3. mSqlDatabase = QSqlDatabase::addDatabase("QODBC");
  4. mSqlDatabase.setHostName("SERVER01");
  5. mSqlDatabase.setDatabaseName("DSNName");
  6. mSqlDatabase.setUserName("userName");
  7. mSqlDatabase.setPassword("password");
  8.  
  9. if(!mSqlDatabase.open())
  10. {
  11. returnValue = mSqlDatabase.lastError().number();
  12.  
  13. }
  14.  
  15. mSqlQuery = new QSqlQuery(mSqlDatabase);
  16.  
  17. return returnValue;
To copy to clipboard, switch view to plain text mode