Qt-C++ - Урок 006. QSqlQueryModel - Таблици в Qt, използващи SQL заявки
Използването наQSqlQueryModel за генериране на таблици в Qt е най-твърдата опция с най-ниско ниво на абстракция от използването наQSqlTableModel илиQSqlRelationalTableModel. Но с всичко това, това е и най-гъвкавият вариант, който изисква по-задълбочено познаване на езика на SQL заявките. В предишната статия бяха построени две таблици:
Структура на проекта за QSqlQueryModel
Структурата на проекта QSqlQueryModel остава същата като в предишната статия.
mainwindow.ui
Таблиците също се използват както в предишната статия, нека си припомним имената им:
Файлът се използва в проекта, като се създава по подразбиране.
mainwindow.h
Този файл включва библиотекатаQSqlQueryModel, докато класоветеQSqlRelationalTableModel,QSqlRelationalDelegate иQSqlRelation няма да бъдат използвани. Сигнатурата на методите за инициализация на модела също се променя, тъй като няма метод за обектаQSqlQueryModel за задаване на името на таблицата, до която този обект ще има достъп.
mainwindow.cpp
Основната разлика между кода в този изходен файл и кода в предишната статия е, че методите за инициализиране на модели използват SQL заявка, която се изпълнява от методаsetQuery().
За да се актуализират данните в таблицата, е необходимо да се повтори SQL заявката. Това става чрез извикване на методаquery() на модела, който има методlastQuery(), както е показано в кода по-долу:
Заглавният файл за класа, който действа като фасада за работа с базата данни, се променя само с два реда в сравнение с предишната статия. Промените са в кода по-долу:
база данни.cpp
В този файл само двеметоди, които работят сГлавна таблица. Поради факта, че броят на колоните, които се прилагат в тази таблица, се е променил.
Вашият визуален резултат не трябва да се различава от това, което сте получили в предишния урок. Това ще бъде прозорец с две маси.

Споделен хостинг с 10 процента отстъпка
Препоръчани статии по тази тема