PDA

View Full Version : get error number from qsqldatabase



mandal
25th December 2006, 15:39
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.



int returnValue = 0;

mSqlDatabase = QSqlDatabase::addDatabase("QODBC");
mSqlDatabase.setHostName("SERVER01");
mSqlDatabase.setDatabaseName("DSNName");
mSqlDatabase.setUserName("userName");
mSqlDatabase.setPassword("password");

if(!mSqlDatabase.open())
{
returnValue = mSqlDatabase.lastError().number();

}

mSqlQuery = new QSqlQuery(mSqlDatabase);

return returnValue;

wysota
19th January 2007, 11:20
Maybe you should take a look at the error text instead? You'll probably receive a "could not connect" or something similar for an invalid host...