Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Qt.doc
Скачиваний:
12
Добавлен:
01.07.2025
Размер:
6 Мб
Скачать
☆

8. Работа с базами данных в qt

Цель работы – научиться создавать базы данных и работать с ними в Qt.

Теоретическое введение

База данных представляет собой систему хранения записей, организованных в виде таблиц. База данных может содержать от одной до нескольких сотен таблиц, которые связаны междусобой. Таблица состоит из набора строк и столбцов. Столбцы таблицы имеют имена, и за каждым столбцом закреплен тип и/или область значений. Строки таблицы баз данных называются записями, а ячейки, на которые делится запись – полями. Первичный ключ – это уникальный идентификатор записи, который может представлять собой не только один столбец, но и целую комбинацию столбцов.

Пользователь может выполнять множество разных операций стаблицами: добавлять, изменять и удалять записи, вести поиск и т. д. Для составления подобного рода запросов был разработан язык SQL (Structured Query Language – язык структурированных запросов), который дает возможность не только осуществлять запросы и изменять данные, но и создавать новые базы данных.

В библиотеке Qt имеются драйверы для работы со следующими СУБД:

  • QDB2 – IBM DB2 версии не ниже 7.1;

  • QIBASE – Borland InterBase;

  • QMYSQL – MySQL;

  • QOCI – Oracle;

  • QODBC – ODBC (в том числе Microsoft SQL Server);

  • QPSQL – PostgreSQL;

  • QSQLITE – SQLite версии не ниже 3;

  • QSQLITE2 – SQLite версии 2;

  • QTDS – Sybase Adaptive Server.

Также есть возможность написать свой собственный драйвер для работы с БД, если имеющиеся вас не устраивают.

В Qt Open Source Edition отсутствует поддержка коммерческих СУБД Oracle, Sybase и DB2, т.к. драйверы для них распространяются под лицензией, не совместимой с GPL.

SQLite – компактная встраиваемая система управления реляционной базой данных.

Исходный код библиотеки передан в общественное достояние.

SQLite не обладает клиент-серверной архитектурой. То есть движок БД не является отдельно работающим процессом, с которым взаимодействует программа. SQLite представляет собой библиотеку, с которой компонуется ваша программа и, таким образом, движок становится составной частью программы.

Т. е. это СУБД, не требующая сервера БД и собственно, клиента.

Практическая часть

8.1. Подготовка к подключению бд

  1. Запустите Qt Creator (C:\Qt\Tools\QtCreator\bin\qtcreator.exe).

Воспользуемся мастером.

Выберите Файл – Новый файл или проект…, а там Приложение – Проект Qt Widget.

Рисунок 8.1 – Создание проекта с помощью мастера

2. Дадим ему некое осмысленное имя, укажем месторасположение проекта (рис. 8.2), нажмем Далее (3 раза) и Завершить.

Рисунок 8.2 – Путь и имя проекта

3. По проекту удобно перемещаться с помощью панели навигации (рис. 8.3).

Рисунок 8.3 – Панель навигации

4. Подключим SQL.

Для использования баз данных, Qt предоставляет отдельный модуль Qt Sql. Чтобы подключить его необходимо дописать в файле проекта (с расширением .pro):

QT += sql widgets

а также, для того чтобы быть в состоянии работать с классами этого модуля, необходимо включить в заголовочный файл главного окна (mainwindow.h):

#include <QtSql>

#include <QSqlDatabase>

#include <QSqlError>

#include <QSqlQuery>

#include <QMessageBox> //для вывода трассировочных сообщений

Запустите и протестируйте приложение.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]