我正在创建一个简单的 qt 应用程序来提供详细信息并登录到应用程序并从数据库中检索详细信息。它主要有 2 个表单(MainWindow 和 Dialog)已经编写了一个 DBconncetion 类来获取数据库连接!我使用 DBconnection 类通过 MainWindow 表单提供详细信息来登录应用程序!但我不知道如何保持在 MainWindow 表单中打开的连接并使用它将数据检索到 Dialog 表单中的 tableview。
我的代码如下
DBconnection.h(工作成功)
public:
QSqlDatabase mydb;
bool connOpen(QString uname,QString pword,QString ip,int port,QString dbname){
mydb=QSqlDatabase::addDatabase("QOCI","MyDB");
mydb.setUserName(uname);
mydb.setPassword(pword);
mydb.setHostName(ip);
mydb.setPort(port);
mydb.setDatabaseName(dbname);
mydb.open();
return true;
}
MainWindow.cpp (成功运行)
void MainWindow::on_pushButton_clicked()
{
DBconnection con;
if(con.connOpen(ui->lineEdit->text(),ui->lineEdit_2->text(),ui->lineEdit_3->text(),ui->lineEdit_4->text().toInt(),ui->lineEdit_5->text())){
Dialog dialog1;
dialog1.setModal(true);
dialog1.exec();
}
}
Dialog.cpp(不工作)
void Dialog::on_pushButton_clicked()
{
QSqlQueryModel *modal = new QSqlQueryModel();
con.connOpen();
QSqlQuery* qry=new QSqlQuery(con.mydb);
qry->prepare("select NAME FROM TEST1");
qry->exec();
modal->setQuery(*qry);
ui->tableView->setModel(modal);
}
如何调整我的代码,以便我可以从我从 MainWindow 表单建立的连接中检索数据到 Dialog 表单中的 tablewidget?