Добавил:
Только когда поступишь в технический вуз поймешь на сколько ты гуманитарий Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Дополнительные материалы.pdf
Скачиваний:
3
Добавлен:
07.06.2025
Размер:
12.29 Mб
Скачать

Запрос с вычисляемым полем

function retrieveBooksTotalPages(callback) {

var database = LocalStorage.openDatabaseSync("books", "1.0"); database.readTransaction(function (tx) {

var result = tx.executeSql(

"SELECT SUM(tp) AS tpSum FROM books"); callback(result.rows.item(0).tpSum)

});

}

Заполнение модели данных

Dao { id: dao } SilicaListView {

model: ListModel { id: booksListModel } delegate: ListItem {

Label {

x: Theme.horizontalPageMargin text: title + " by " + author

}

}

}

function selectBooks() { booksListModel.clear(); dao.retrieveBooks(function (books) {

for (var i = 0; i < books.length; i++) { var book = books.item(i);

booksListModel.append({id: book.id, author: book.author, title: book.title, total pages: book.tp });

}

});

}

Component.onCompleted: selectBooks()

Доступ к базам данных через C++

Слой драйверов — классы QSqlDriver, QSqlDriverCreator, QSqlDriverCreatorBase, QSqlDriverPlugin и QSqlResult

Слой SQL API — классы QSqlDatabase, QSqlQuery, QSqlError, QSqlField, QSqlIndex и QSqlRecord

Слой пользовательского интерфейса — классы QSqlQueryModel, QSqlTableModel и QsqlRelationalTableModel

doc.qt.io/qt-5.6/qtsql-module.html

Работа с базой данных в C++

В .pro-файле

QT += sql

Подключение модуля:

#include <QtSql>

Создать базу данных и открыть соединение:

QSqlDatabase db = QsqlDatabase::addDatabase("QMYSQL"); db.setHostName("bigblue"); db.setDatabaseName("flightdb"); db.setUserName("acarlson");

db.setPassword("1uTbSbAs"); bool ok = db.open();

doc.qt.io/qt-5/sql-programming.html

Работа с базой данных в C++

Выполнить запрос: QSqlQuery query;

query.exec("SELECT name, salary FROM employee WHERE salary > 50000");

Навигация по результату: while (query.next()) {

QString name = query.value(0).toString(); int salary = query.value(1).toInt(); qDebug() << name << salary;

}

doc.qt.io/archives/qt-5.6/qsqlquery.html