RelationMode Example
#include <QApplication>
#include <QtSql>
#include <QMessageBox>
#include "window.h"
static bool createConnection()
{
QSqlDatabase db = QSqlDatabase::addDatabase(QStringLiteral("QSQLITE"));
db.setDatabaseName(QObject::tr(":memory:"));
if (!db.open())
{
QMessageBox::critical(0, qApp->tr("Cannot open database"),
qApp->tr("Unable to establish a database connection.\n"
"This example needs SQLite support. Please read "
"the Qt SQL driver documentation for information how "
"to build it.\n\n"
"Click Cancel to exit."), QMessageBox::Cancel);
return false;
}
QSqlQuery query;
query.exec(QObject::tr("create table employee(id integer primary key, name varchar(20), city int, country int)"));
query.exec(QObject::tr("insert into employee values(1, 'Espen', 5000, 47)"));
query.exec(QObject::tr("insert into employee values(2, 'Harald', 80000, 49)"));
query.exec(QObject::tr("insert into employee values(3, 'Sam', 100, 1)"));
query.exec(QObject::tr("create table city(id int, name varchar(20))"));
query.exec(QObject::tr("insert into city values(100, 'San Jose')"));
query.exec(QObject::tr("insert into city values(5000, 'Oslo')"));
query.exec(QObject::tr("insert into city values(80000, 'Munich')"));
query.exec(QObject::tr("create table country(id int, name varchar(20))"));
query.exec(QObject::tr("insert into country values(1, 'USA')"));
query.exec(QObject::tr("insert into country values(47, 'Norway')"));
query.exec(QObject::tr("insert into country values(49, 'Germany')"));
return true;
}
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
app.setOrganizationName(QStringLiteral("Developer Machines"));
#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0))
app.setHighDpiScaleFactorRoundingPolicy(Qt::HighDpiScaleFactorRoundingPolicy::Round);
#endif
if (!createConnection())
return 1;
Window window;
window.show();
return app.exec();
}