0

我的qui上有一个按钮。当我点击它时,它必须根据连接信息连接数据库。

这是我的代码:

void MainWindow::on_pushButton_clicked(){
    db = QSqlDatabase::addDatabase("QPSQL");
    db.setHostName("localhost");
    db.setDatabaseName("Assignment3");
    db.setUserName("postgres");
    db.setPassword("password");
    db.setPort(5432);

    bool ok = db.open();
    if(ok != true)
    {
        QMessageBox::information(this,"Connection","Connection Failed!") ;
    }
    else
    {
        QMessageBox::information(this,"Connection","Connection OK!") ;

        QSqlQueryModel model;
        model.setQuery("select * from students ");

        //ui->tableView->setModel(&model);
        QMessageBox::information(this,"Information","This Message box is needed in       order to see the rendered tableview!") ;

    }

}

主机名、数据库名、用户名、密码和端口是正确的,并且我在 postgresql 中的数据库处于活动状态,其中不包含表。

任何帮助表示赞赏。提前致谢。

4

1 回答 1

0

如果您缺少驱动程序(如评论所建议的那样),那么您应该考虑获取它。

例如,在 Debian 上,您会:

apt-get install  libqt4-sql-psql

在 Fedora 上,您将使用类似的 yum 命令

但是,在不了解您的平台的情况下,我无法建议具体步骤。

于 2013-10-26T06:05:11.007 回答