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 に答える