В статье рассказывается о том, как можно подключить SQLite в Qt.

В данной статье рассмотрен лишь самый простой пример. Более подробный материал смотрите как в документации, так и в статьях других авторов (например, http://www.prog.org.ru/topic_26665_0.html).

Подготовка базы данных

В статье рассказывается, как создавать базы данных заранее и заполнять их в специальной программе (одной из многих).

В данной статье будем придерживаться именно этой идеологии: проектирование базы данных и её создание мы осуществляем не в Qt.

Итак, допустим у нас есть небольшая база данных, в которой есть одна таблица и три столбца:

CREATE TABLE `People` (
`_id`  INTEGER PRIMARY KEY AUTOINCREMENT,
`Name`  TEXT NOT NULL,
`Age`  INTEGER NOT NULL
)

Таблица базы данных

Предположим, что база данных находится в папке C:\.

Создание Qt приложения

Под спойлером показывается процесс создания простого приложения. Получим вот такую картинку:

Внешниё вид приложения

Создание приложения

Пункт меню для создания нового проекта

Выбор типа проекта

Выбор названия проекта и его расположения

Выбор компилятора

Выбор названия главного класса

Настройка системы контроля версий

Окно Qt Creator с созданным проектом

Элементы на форме приложения

Подключение базы данных

В файле .pro пропишите подключение блока sql.

Было:

QT += core gui

Стало:

QT += core gui sql

Измененный PRO файл

Подключите инклуды:

#include "QtSql/QSqlDatabase"
#include "QSqlQuery"

И в клике кнопки (или где вы хотите) пропишем код:

// Подключаем базу данных
QSqlDatabase db;
db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("C:\\database.db3");
db.open();

// Осуществляем запрос
QSqlQuery query;
query.exec("SELECT _id, name, age FROM People");

// Выводим значения из запроса
while (query.next()) {
  QString _id = query.value(0).toString();
  QString name = query.value(1).toString();
  QString age = query.value(2).toString();
  ui->textEdit->insertPlainText(_id+" "+name+" "+age+"\n");
  }

Результат работы программы

P.S. В статье рассказывается, как закидывать данные в таблицу в компонент QTableView.