Подсказки на компьютерную тематику

Можно подсмотреть, если забыли…

Как создать пример простой консольной программы на C++ с Qt и базой данных SQLite

Создание консольной программы в системе QT с подключением к базе данных SQLite

    Для создания программы следует:

  • запустить Qt Creator
  • нажать кнопку +New для создания проекта
  • выбрать пункт Qt Console Application
  • назвать проект, к примеру simpledb
  • компиллятор оставить по умолчанию qmake
  • классы и язык оставить по умолчанию
  • комплект Desktop Qt 5.14.2 GCC 64bit (default) оставить по умолчанию
  • будут созданы файлы main.cpp и simpledb.pro

Работающий пример простой консольной программы с Qt и базой данных SQLite

    В файл simpledb.pro надо добавить запись QT += sql, чтоб получилось так:


  • QT -= gui
    QT += sql

    CONFIG += c++11 console
    CONFIG -= app_bundle

    # You can make your code fail to compile if it uses deprecated APIs.
    # In order to do so, uncomment the following line.
    #DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0

    SOURCES += \
    main.cpp

    # Default rules for deployment.
    qnx: target.path = /tmp/$${TARGET}/bin
    else: unix:!android: target.path = /opt/$${TARGET}/bin
    !isEmpty(target.path): INSTALLS += target

    В файл main.cpp надо подключить необходимые классы для БД,запросов,вывода и ошибок:

  • #include <QtSql/QSqlDatabase>
  • #include <QSqlQuery>
  • #include <QDebug>
  • #include <QSqlError>
  • и в результате получится:

  • #include <QCoreApplication>

    #include <QtSql/QSqlDatabase>
    #include <QSqlQuery>
    #include <QDebug>
    #include <QSqlError>

    int main(int argc, char *argv[])
    {
    QCoreApplication a(argc, argv);

    //начало кода работы с существующей БД
    //драйвер для работы с БД
    QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");

    //здесь должен быть путь к самой БД!!!
    db.setDatabaseName("/home/mishanyya/fordbwork/examplebdfordbwork");

    //открывает файл, указанный в db.setDatabaseName();
    db.open();

    //создает запрос
    QSqlQuery query( db );
    query.exec("INSERT INTO basetable (number,name,fone,automodel,price) VALUES (NULL,'B6', 26, 'PC6',556)");

    //просто для информации, это не обязательно!
    qDebug() <<"isOpen="<<db.isOpen();//если текстовый файл открыт
    qDebug() <<"connection DB exists="<< db.isValid();// если соединение осуществлено успешно
    qDebug() <<"available drivers="<<QSqlDatabase::drivers();// выводит список доступных драйверов для различных баз данных
    qDebug() <<"errors="<<db.lastError().text();//список возможных ошибок
    //конец кода работы с существующей БД

    return a.exec();
    }

Как создать пример простой консольной программы на C++ с Qt и базой данных SQLite

Создание консольной программы в системе QT с подключением к базе данных SQLite

    Для создания программы следует:

  • запустить Qt Creator
  • нажать кнопку +New для создания проекта
  • выбрать пункт Qt Console Application
  • назвать проект, к примеру simpledb
  • компиллятор оставить по умолчанию qmake
  • классы и язык оставить по умолчанию
  • комплект Desktop Qt 5.14.2 GCC 64bit (default) оставить по умолчанию
  • будут созданы файлы main.cpp и simpledb.pro

Работающий пример простой консольной программы с Qt и базой данных SQLite

    В файл simpledb.pro надо добавить запись QT += sql, чтоб получилось так:


  • QT -= gui
    QT += sql

    CONFIG += c++11 console
    CONFIG -= app_bundle

    # You can make your code fail to compile if it uses deprecated APIs.
    # In order to do so, uncomment the following line.
    #DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0

    SOURCES += \
    main.cpp

    # Default rules for deployment.
    qnx: target.path = /tmp/$${TARGET}/bin
    else: unix:!android: target.path = /opt/$${TARGET}/bin
    !isEmpty(target.path): INSTALLS += target

    В файл main.cpp надо подключить необходимые классы для БД,запросов,вывода и ошибок:

  • #include <QtSql/QSqlDatabase>
  • #include <QSqlQuery>
  • #include <QDebug>
  • #include <QSqlError>
  • и в результате получится:

  • #include <QCoreApplication>

    #include <QtSql/QSqlDatabase>
    #include <QSqlQuery>
    #include <QDebug>
    #include <QSqlError>

    int main(int argc, char *argv[])
    {
    QCoreApplication a(argc, argv);

    //начало кода работы с существующей БД
    //драйвер для работы с БД
    QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");

    //здесь должен быть путь к самой БД!!!
    db.setDatabaseName("/home/mishanyya/fordbwork/examplebdfordbwork");

    //открывает файл, указанный в db.setDatabaseName();
    db.open();

    //создает запрос
    QSqlQuery query( db );
    query.exec("INSERT INTO basetable (number,name,fone,automodel,price) VALUES (NULL,'B6', 26, 'PC6',556)");

    //просто для информации, это не обязательно!
    qDebug() <<"isOpen="<<db.isOpen();//если текстовый файл открыт
    qDebug() <<"connection DB exists="<< db.isValid();// если соединение осуществлено успешно
    qDebug() <<"available drivers="<<QSqlDatabase::drivers();// выводит список доступных драйверов для различных баз данных
    qDebug() <<"errors="<<db.lastError().text();//список возможных ошибок
    //конец кода работы с существующей БД

    return a.exec();
    }