// Finally, set up database connection
-// db = QSqlDatabase::addDatabase("QMYSQL");
db = QSqlDatabase::addDatabase("QODBC");
bool ok = false;
sqlSettings.edit4->setText(dbUserName);
sqlSettings.edit5->setText(dbPassword);
-#if 0
-db = QSqlDatabase::addDatabase("QODBC");
-db.setDatabaseName("Driver={MySQL ODBC 5.1 Driver};DATABASE=agp-dbserver01;");
-db.setUserName("xcdr");
-db.setPassword("xcdr");
-#endif
do
{
- // Set up the DB connection with saved settings
- QString odbc = QString("DRIVER={%1};DATABASE=%2;").arg(dbDriver).arg(dbName);
- db.setHostName(dbHostName);
+ // Set up the ODBC DB connection with saved settings
+ // NB: For this to work properly on 64-bit Windows, you need to use the 32-bit driver!
+ QString odbc = QString("DRIVER={%1};DATABASE=%2;SERVER=%3;UID=%4;PASSWORD=%5")
+ .arg(dbDriver).arg(dbName).arg(dbHostName).arg(dbUserName).arg(dbPassword);
db.setDatabaseName(odbc);
- db.setUserName(dbUserName);
- db.setPassword(dbPassword);
ok = db.open();
// If unsuccessful, run the SQL settings/test dialog
if (!ok)
{
-//printf("Error: %s\n", db.lastError().databaseText().toAscii().data());
-//printf("Error: %s\n", db.lastError().driverText().toAscii().data());
sqlSettings.error1->setText(db.lastError().databaseText());
sqlSettings.error2->setText(db.lastError().driverText());
if (query.value(0).toInt() > 1)
{
- // Do Login dialog
- LoginDialog loginDlg;
- bool done = false;
+ // Do Login dialog
+ LoginDialog loginDlg;
+ bool done = false;
- do
- {
- bool accept = loginDlg.exec();
-
- // Check to see if user cancelled out
- if (!accept)
- done = true;
- else
+ do
{
-#if 0
- // Search DB for this username/login pair
- QSqlQuery query("SELECT UID, name, login FROM User WHERE Login=? AND Password=?");
- query.addBindValue(loginDlg.edit1->text());
- query.addBindValue(loginDlg.edit2->text());
- query.exec();
-#else
- // Search DB for this username/login pair
- QSqlQuery query;
- query.prepare("SELECT UID, name, login FROM User WHERE Login=? AND Password=?");
- query.addBindValue(loginDlg.edit1->text());
- query.addBindValue(loginDlg.edit2->text());
- query.exec();
-#endif
-
- while (query.next())
- {
- // We have a winner!
- loggedInUID = query.value(0).toInt();
- fullName = query.value(1).toString();
- login = query.value(2).toString();
+ bool accept = loginDlg.exec();
+
+ // Check to see if user cancelled out
+ if (!accept)
done = true;
+ else
+ {
+ // Search DB for this username/login pair
+ QSqlQuery query;
+ query.prepare("SELECT UID, name, login FROM User WHERE Login=? AND Password=?");
+ query.addBindValue(loginDlg.edit1->text());
+ query.addBindValue(loginDlg.edit2->text());
+ query.exec();
+
+ while (query.next())
+ {
+ // We have a winner!
+ loggedInUID = query.value(0).toInt();
+ fullName = query.value(1).toString();
+ login = query.value(2).toString();
+ done = true;
+ }
}
}
- }
- while (!done);
+ while (!done);
}
else
{