如何解除QSqlTableModel和Sqlite数据库的连接
现在是从数据库里查出数据,并显示到控件tableView上,我使用的是QSqlTableModel类,缩减后的代码如下:
void MainWindow::SelectData(){ QString conn; { QSqlDatabase db=QSqlDatabase::addDatabase("QSQLITE"); db.setDatabaseName("test.db"); conn=QSqlDatabase::database().connectionName(); db.open(); QSqlTableModel *model=new QSqlTableModel(this,db); model->setTable("TestTool"); model->select(); ui->tableView->setModel(model); ui->tableView->show(); db.close(); qDebug()<<"Congratulations~Selected Successfully~"; } QSqlDatabase::removeDatabase(conn); }
void MainWindow::SelectData(){ QString conn; { QSqlDatabase db=QSqlDatabase::addDatabase("QSQLITE"); db.setDatabaseName("test.db"); conn=QSqlDatabase::database().connectionName(); db.open(); QSqlQuery q; q.exec("select * from TestTool,TestProgram where TestTool.ToolId=TestProgram.TestId"); while(q.next()) { ui->textEdit->append(q.value(1).toString());//append自带换行无需加'\n' } q.clear(); db.close(); } QSqlDatabase::removeDatabase(conn); // correct}