我有一個關於在Qt中使用數據庫的問題。在大型應用程序中使用Qt數據庫
在其他語言中,我會做類似於在主類中創建數據庫並將此數據庫的指針傳遞給其他類以使用。
我一直在Qt中玩耍,似乎如果我在主類中初始化一個數據庫,那麼我可以在任何其他類中編寫和執行查詢,它將使用此數據庫,因爲我有點困惑,因爲似乎沒有提及數據庫。
有人能解釋這對我來說:)
這裏是一個在MainWindow.cpp實例化數據庫類
#include "database.h"
Database::Database()
{
Connect();
}
void Database::Connect()
{
db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("mydatabase.dat");
if(db.open()){
qDebug() << "Connected";
}
else
{
qDebug() << "Not Connected";
}
}
bool Database::SetupTables()
{
QSqlQuery qry;
qry.exec("CREATE TABLE patients (patient_id INT, firstname VARCHAR(100), lastname VARCHAR(100)); ");
return true;
}
這是在Window(窗口小部件),我創建了名爲PatientList
#include "patientlist.h"
#include "ui_patientlist.h"
#include "database.h"
#include <QtSql>
#include <QtDebug>
PatientList::PatientList(QWidget *parent) :
QWidget(parent),
ui(new Ui::PatientList)
{
ui->setupUi(this);
QSqlQuery qry;
if(qry.exec("SELECT patient_id,firstname,lastname FROM patients")){
qDebug() << "Success";
}
else
{
qDebug() << "Error";
}
}
PatientList::~PatientList()
{
delete ui;
}
這一切工作正常,但我只是覺得我做錯了什麼,因爲我沒有提到在MainWindow.cpp中創建的數據庫
你能告訴我們一些示例代碼嗎?這是非常含糊 – cppguy 2013-04-30 21:50:52
添加到帖子 – Liam 2013-04-30 22:01:49