Cześć, napisałem program obsługujący bazę danych, podczas jego startu wyskakuje okienko z polem do wpisania adresu hosta. Przeniosłem program na inny komputer wraz z QtCore4.dll, QtGui4.dll oraz dodatkowo z QtSql4.dll i qsqlmysql4.dll. Problem w tym, że po uruchomieniu wyskakuje komunikat "Driver not loaded". Problemem jest chyba wywolanie addDatabase, ale bez niego jest oczywiście to samo podczas próby logowania. Myślę, że brakuje jeszcze jakiś dll lub jakiś nagłówków, podam także kod konstruktora:
db = QSqlDatabase::addDatabase("QMYSQL");
hostName = new QLineEdit;
hostName->setText("localhost");
QLineEdit *userName = new QLineEdit;
QLineEdit *userPass = new QLineEdit;
QPushButton *login = new QPushButton(tr("Zaloguj"));
connect(login,SIGNAL(clicked()),this,SLOT(connectToDatabase()));
QFormLayout *layout = new QFormLayout;
layout->addRow(new QLabel(tr("Host:")),hostName);
layout->addRow(new QLabel(tr("Login:")),userName);
layout->addRow(new QLabel(tr("Hasło:")),userPass);
layout->addRow(login);
setLayout(layout);
Oraz slotu connectToDatabase():
QSqlError err;
db.setHostName(hostName->text());
db.setDatabaseName("biblioteka");
db.setUserName("root");
db.setPassword("root");
if(!db.open())
err = db.lastError();
if(err.type() != QSqlError::NoError) {
QMessageBox::critical(this,tr("Błąd"),err.text());
return;
}