1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
QSettings settings("../conf.ini", QSettings::IniFormat);
QString hostname = settings.value("hostname", "localhost").toString();
int port = settings.value("port", 3306).toInt();
QString user = settings.value("user", "root").toString();
QString password = settings.value("password", "passwd").toString();
QString dbname = settings.value("dbname", "report").toString();
db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName(hostname);
db.setPort(port);
db.setUserName(user);
db.setPassword(password);
db.setDatabaseName(dbname);
if (!db.open()) {
QMessageBox::critical(this, QObject::tr("Database Error"), db.lastError().text());
return;
}
else {
ui->statusBar->showMessage("Connected to database: " + dbname);
}
// _Models et _Views étant respectivement des QMap<QString, QSqlTableModel> et QMap<QString, QTableView>
_Models.insert("report", new QSqlTableModel(this,db));
_Models["report"]->setTable("report");
_Models["report"]->setEditStrategy(QSqlTableModel::OnFieldChange);
_Models["report"]->select();
_Views.insert("report", new QTableView);
_Views["report"]->setModel(_Models["report"]);
ui->tabWidget->insertTab(0,_Views["report"],QIcon(),"report"); |
Partager