Harrix Блог

  • Списки статей
    • Все статьи
    • IT
    • Qt
    • C++
    • Сложение двух чисел
    • Web программированиe
    • FAQ
    • Latex
    • Установка программ
    • Мифы
    • Видео
    • Про фото
  • Проекты
  • Harrix.org
  • RSS
  • Контакты

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

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

22.03.2016 Leave a Comment 32 742 просмотров

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

Содержание

  • Подготовка базы даннных
  • Создание Qt приложения
  • Подключение базы данных

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

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

В статье http://blog.harrix.org/?p=5154 рассказывается, как создавать базы данных заранее и заполнять их в специальной программе (одной из).

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

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

1
2
3
4
5
CREATE TABLE `People` (
`_id` INTEGER PRIMARY KEY AUTOINCREMENT,
`Name` TEXT NOT NULL,
`Age` INTEGER NOT NULL
)

2016-03-22_004957

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

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

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

2016-03-22_003728

Создание приложения
2016-03-22_001826

2016-03-22_001836

2016-03-22_001848

2016-03-22_001853

2016-03-22_001900

2016-03-22_001905

2016-03-22_002510

2016-03-22_003658

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

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

Было:

1
QT += core gui

Стало:

1
QT += core gui sql

2016-03-22_010447

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

1
2
#include "QtSql/QSqlDatabase"
#include "QSqlQuery"

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//Подключаем базу данных
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");
}

2016-03-22_014823

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


Статьи по теме:

  1. Как подключиться к базе данных в Microsoft SQL Server 2012 в Qt
  2. Создание SQLite базы данных в DB Browser for SQLite
  3. Как сохранять из QTableView данные в CSV формат
  4. Выбор установщика для установки Qt под Windows

IT Qt, SQLite, Базы данных

© 2014 Harrix