Създадох прост GUI за проверка на свързаността на базата данни. Параметрите за връзка с DB, като име на DB, име на хост, потребителско име, парола, порт и т.н., ще бъдат въведени от GUI и изходът ще бъде ЧЕРВЕНО или ЗЕЛЕНО изображение в зависимост от свързаността.
Настроих oracle OCI плъгин (DB е oracle 10g)
и направи следното--
void MainWindow::on_GoButton_clicked()
{
QString HostN = ui->HostNameEdit->text();
QString DatabaseN = ui->DatabaseNameEdit->text();
QString UserN = ui->UserNameEdit->text();
QString PassWD = ui->PasswordEdit->text();
QString PortNO = ui->PortEdit->text();
QSqlDatabase db = QSqlDatabase::addDatabase("QOCI");
db.setHostName(HostN);
db.setDatabaseName(DatabaseN);
db.setUserName(UserN);
db.setPassword(PassWD);
db.setPort(PortNO);
while(true)
{
if (db.open())
{
// do this
}
else
{
//do that
}
}
}
Сега показва грешка-- /home/aj/MY_QT_WORK/DB_connection_test/mainwindow.cpp:19: грешка: няма съответстваща функция за извикване на „QSqlDatabase::setPort(QString&)“
Някакви идеи ???