Форум программистов, компьютерный форум, киберфорум
C++ Qt
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.90/21: Рейтинг темы: голосов - 21, средняя оценка - 4.90
2 / 2 / 0
Регистрация: 18.01.2012
Сообщений: 51

Qt + MySql

22.03.2012, 18:43. Показов 4040. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток!
Собрал QMYSQL плагин, в папке plugins/sqldrivers появился файл "libqsqlmysql_debug.dylib" (только debug).

Далее пишу программу:

файл Architect.pro
C++
1
2
3
4
5
6
7
8
9
10
11
12
QT       += core gui sql
 
TARGET = Architect
TEMPLATE = app
 
 
SOURCES += main.cpp\
        mainwindow.cpp
 
HEADERS  += mainwindow.h
 
FORMS    += mainwindow.ui
файл main.cpp
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <QtGui/QApplication>
#include "mainwindow.h"
#include <QtSql>
#include <QMessageBox>
 
void connection()
{
    QSqlDatabase *db = new QSqlDatabase;
    *db = QSqlDatabase::addDatabase("QMYSQL");
    db->setHostName("some.host");
    db->setDatabaseName("dat_name");
    db->setUserName("some_user");
    db->setPassword("some_password");
 
    if (!db->isOpen())
    {
        QMessageBox *mes = new QMessageBox;
        mes->setText(db->lastError().text());
        mes->setModal(true);
        mes->show();
        return;
    }
}
 
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w; 
    w.show();
    connection();
    
    return a.exec();
}
При выполнении функции connection выскакивает сообщение "Driver not loaded"

Что я сделал не так.
И может это быть из-за того что у меня только debug-файл в плагинах, если так, то как собрать релизовский?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.03.2012, 18:43
Ответы с готовыми решениями:

Сборка плагина MySQL для Qt 5.14.1 (Project ERROR: Library 'mysql' is not defined.)
Здравствуйте. Столкнулся, казалось бы, с распространённой проблемой, но решить её так и не сумел. Использую компилятор MinGW 7.3.3 64-bit...

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'
Ajenti CentOS 6 Linux 2.6.32-573.7.1.el6.x86_64 x86_64 Добрый день. Перестал работать MySQL. Выводить такую ошибку: ERROR...

Ошибка DBD::mysql::st execute failed: MySQL server has gone away at /usr/local/...
на старом серваке все работало, переехал на новый и никак не могу понять, что к чему... пишет такое в STDERR DBD::mysql::st...

6
 Аватар для Koste
27 / 27 / 0
Регистрация: 04.03.2011
Сообщений: 164
23.03.2012, 00:11
Я, вот такую функцию использую:
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
bool createConnection()
{
    QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
    db.setDatabaseName("base.dat");
    if (!db.open()) {
        QMessageBox::warning(0, QObject::tr("Database Error"),
                db.lastError().text());
        return false;
    }
    return true;
}
int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    QApplication::setStyle(new QPlastiqueStyle);
    //QTextCodec *codec = QTextCodec::codecForName("Windows-1251");
    //QTextCodec::setCodecForTr(codec);
    bool existingData = QFile::exists("base.dat");
    if (!createConnection())
        return 1;
    if (!existingData)
        createFakeData();
    MAmtd form;
    form.readSettings();
    form.show();
    return app.exec();
}
0
2 / 2 / 0
Регистрация: 18.01.2012
Сообщений: 51
23.03.2012, 08:34  [ТС]
Мне нужен не SQLite, а именно MySql. Плагин SQLite поставляется вместе с Qt и прекрасно подгружается, а вот с MySql другая история.
0
Автор FAQ
 Аватар для Чистый
2733 / 1429 / 89
Регистрация: 08.09.2011
Сообщений: 3,746
Записей в блоге: 1
23.03.2012, 11:24
если вы компилируете проект в Release а плагин собран только в debug то естественно драйвер не подгрузится, какая у вас ОС и как вы ставили SDK

Не по теме:

Все больше склоняюсь что для кросс платформенного программирования лучше юзать Linux, Qt ставить из репозиториев, и тогда проблемы сами собой решаться

0
2 / 2 / 0
Регистрация: 18.01.2012
Сообщений: 51
23.03.2012, 21:05  [ТС]
Mac OS. SDK ставил через онлайн установщик.

Добавлено через 1 час 34 минуты
Цитата Сообщение от Чистый Посмотреть сообщение
если вы компилируете проект в Release а плагин собран только в debug то естественно драйвер не подгрузится, какая у вас ОС и как вы ставили SDK
Попытался собрать руками следующей командой:
./configure -plugin-sql-mysql -l/usr/local/mysql-5.5.20-osx10.6-x86_64/include -L/usr/local/mysql-5.5.20-osx10.6-x86_64/lib

Получил отказ в виде: "MySQL support cannot be enabled due to functionality tests!"

Что не так сделал?
0
 Аватар для Drus
57 / 57 / 1
Регистрация: 07.10.2011
Сообщений: 203
28.03.2012, 15:11
С макосью не общался, но на винде у меня интересный ситуэйшен что скомпилированные либы мускуля с кутэ не работают(а на других компах проект робит на ура). Зато с либами стыренными из MySQL Workbench работает. Странность, но может вам поможет =)
0
2 / 2 / 0
Регистрация: 18.01.2012
Сообщений: 51
28.03.2012, 18:54  [ТС]
Спасибо всем! Решение нашел. Если кому интересно вот ссылочка.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
28.03.2012, 18:54
Помогаю со студенческими работами здесь

Как указать путь к БД MySQL локально, используя MySQL Connector/Net
На форуме нашел несколько тем, похожих на мою, но решение моей проблемы там не рассматривается. Пишу программу на Visual Studio, язык VB,...

Ошибка при отправке запроса MySQL через JDBC MySQL connector
При помощи Maven я вызываю зависимости Twilio и JDBC MySQL connector, и собираю .jar файл. У меня есть кнопка Update в моем GUI, когда я ее...

Ошбка Can't connect to local MySQL server through socket '/tmp/mysql.sock' (11)
Есть сервер с mysql - если клиенты присоединятся к серверу БД через TCP/IP, то всё отлично и сервер держит и 300 и 500 одновременных...

Ajax отправка данных из формы в базу mysql и вывод из базы mysql
$(function() { $('#chat_submit').click(function(e) { e.preventDefault(); var chat_name =...

Mysql error 1146 table doesn't exist в MySQL Workbench 8.0 CE
Здравствуйте ребят! Возникла следующая проблема, создал я таблицу под транзакции, ввел данные пользователей и их суммы, вчера вводил...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru