Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++ Qt
Войти
Регистрация
Восстановить пароль
 
At3iSt
1 / 1 / 1
Регистрация: 22.11.2014
Сообщений: 21
#1

QSqlDatabase странное поведение open() - C++ Qt

22.10.2015, 18:25. Просмотров 246. Ответов 1
Метки нет (Все метки)

Заметил одну странность, даже если указать неверные данные для подключения к базе, то программа всё равно говорит об успешном соединении:

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Database::Database(QObject *parent, QString server, QString name, QString user, QString password) : QObject(parent) {
    connect(this, SIGNAL(dbConnecting()), parent, SLOT(dbConnecting()));
    connect(this, SIGNAL(dbDisconnect()), parent, SLOT(dbDisconnect()));
 
    // параметры подключения к базе данных
    db = QSqlDatabase::addDatabase("QMYSQL");
    db.setHostName(server);
    db.setDatabaseName(name);
    db.setUserName(user);
    db.setPassword(password);
 
    if (!db.open()) checkConnection();
    else {
        query = QSqlQuery(db);
        emit dbConnecting();
    }
}
и лишь при попытке выполнить запрос, выдаёт:
C++ (Qt)
1
QSqlError("2006", "QMYSQL: Unable to execute query", "MySQL server has gone away")
почему так?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.10.2015, 18:25
Я подобрал для вас темы с готовыми решениями и ответами на вопрос QSqlDatabase странное поведение open() (C++ Qt):

Поведение QSqlDatabase
Всем привет! Использую класс для работы с БД MySQL. Вот он: class DB {...

странное поведение Qt
до сих пор ковыряюсь с установкой qt в винде, поставил в XP, всё работает, всё...

Странное поведение регулярки
Привет. Необходимо вырезать текст, находящийся в скобках. QString...

странное поведение программы
Подскажите в чем мб дело, может быть это не на этот форум вопрос, если так , то...

Странное поведение QDialog
Есть приложение на Qt под Centos7 - платёжный терминал. Для MainWindow...

странное поведение QString
QString id; ...

1
MrJone
6 / 6 / 8
Регистрация: 18.09.2014
Сообщений: 124
25.10.2015, 14:44 #2
Не уверен, но это может помочь:
C++ (Qt)
1
db = QSqlDatabase::addDatabase("QMYSQL","nameMyDB");
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.10.2015, 14:44
Привет! Вот еще темы с решениями:

Qt: странное поведение QByteArray::replace
Написал такой слот: ba = new QByteArray(length,'\0'); lastPos = 0; ...

Странное поведение окна программы
Вот такая странная штука получается. Qt-программку вызываю из другой...

Странное поведение под Windows
Добрый день, всем кто знает, и всем кто пытается узнать. Проблема мелкая, но...

Странное поведение std::deque в Qt
Добрый день! Очень странно себя ведет std::deque в котором хранятся указатели....


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru