Форум программистов, компьютерный форум, киберфорум
C++ Qt
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Прогер
 Аватар для Programmer.
632 / 263 / 15
Регистрация: 17.11.2010
Сообщений: 1,371
Записей в блоге: 2

Не могу отсоединится нормально от БД(Т.Е делаю close() но сама пересоеденяется)

03.07.2012, 17:34. Показов 681. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
привет люди.

Я начал проект, в проекте используется .so файл(в качестве контеинера функцый для соединение с базой данных.
проект работает отлично, грузится .so динамический(и работает тоже норм).


НО пробллема вчем?

втом что в .so(mscso.cpp) делаю функцию и в msc.cpp выгружаю ее, сама выгрузка работает нормално, но после первого соединения(т.е на втором попитке нажать на кнопочку "Connect") отсаеденяется и потом заного соеденяется, а мне надо после первого соеденения чтоб вылезла сообшение о том что оно уже соеденено.

Вот в .so(mscso.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
bool connect(QString ip, QString username, QString dbName, QString password, signed int port = 3306)
{
 QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
  if(!db.isOpen())
  {
   db.setHostName(ip);
   db.setDatabaseName(dbName);
   db.setUserName(username);
   db.setPassword(password);
   db.setPort(port);
   db.open();
   }
 else if(db.isOpen())
 {
  int ifcon = QMessageBox::critical(NULL,tr("Already connected"),
                                                      tr("Would you like to disconnect?"),
                                              QMessageBox::Yes|QMessageBox::No);
  switch(ifcon)
   {
    case QMessageBox::Yes:
    db.close();
    break;
    case QMessageBox::No:
    break;
   }
 }
 return true;
}
а в msc.cpp] выгружаию и делаю так:
C++ (Qt)
1
2
3
4
5
6
7
void msc::on_connect_clicked()
{
 QLibrary lib(qApp->applicationDirPath()+"/libfuncon.so");
 typedef bool(*protoFun)(QString,QString,QString,QString,signed int);
 protoFun connect = (protoFun)lib.resolve("connect");
 bool ifConnected = connect("Вот ето уже секретно","ето тоже","и ето","и ето","ага тут тоже",3306);
}

АНО Всё равно пересоеденияется ((

как предотвратит ето?


Спасибо заранее...

Добавлено через 21 час 29 минут
Решил проблему, помог "Чистый"

Вот кому понадобится(неправильно проверял я), вот так надо било
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
QSqlDatabase db;
 QString connection = QString(QSqlDatabase::defaultConnection);
if(QSqlDatabase::contains(connection))
{
 int ifcon = QMessageBox::critical(NULL,tr("Already connected"),
                                        tr("You are already connected, would you like to disconnect?"),
                                        QMessageBox::Yes|QMessageBox::No); 
switch(ifcon)
       { 
       case QMessageBox::Yes:
       db.close(); 
       break;
       case QMessageBox::No:
       break;
       } 
 
}
else{
 db = QSqlDatabase::addDatabase("QMYSQL");
 db.setHostName(ip);
 db.setDatabaseName(dbName);
 db.setUserName(username);
 db.setPassword(password);
 db.setPort(port); 
 db.open();
   }
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
03.07.2012, 17:34
Ответы с готовыми решениями:

Package Restore Failed. Не могу нормально(и не нормально) добавлять пакеты в Project
Установил себе VS 2015 Community. И столкнулся с проблеммой, - NuGetPackag не желает устанавливать пакеты. :/ Тоесть если я запускаю...

Список зарегестрированных пользователей не добавляется в базу. Сама регистрация работает нормально
подключение скрипта <?php include("include/db_connect.php"); include("functions/functions.php"); ?> <!DOCTYPE html...

Чем отличаются this.Close() от Close()
this.Close(); Close(); как лучше? и какие ++ в использовании this? если работает одинакова?

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.07.2012, 17:34
Помогаю со студенческими работами здесь

Элементарные задания в маткаде, не могу сама сделать
По той причине что на компьютере нет программы, не могу сделать задания. Помогите пожалуйста. Задания самые простые

Как открыть файл по заданным параметрам? а то сама не могу)
Суть такая: есть 3 комбобокса, по которым выбираются некие параметры... (Размер ноги человека (например 38), Колодка (например 2) и муж/жен...

Делаю базу,но сделать не могу
Ребят помогите сделать вычисляемые поля в аксесе 2007 вот база данных и там ещё задание если кто захочет может помочь его сделать. Спасибо

делаю програмку,не могу закончить...
1. Описать символьный массив длиной 80 символов. 2. Ввести предложение, состоящее из слов, разделенных пробелами. 3. При...

Не могу понять, что я делаю не так
Написать подпрограмму, которая в строке символов удаляет из каждой группы идущих подряд цифр, в которой более двух цифр и которой...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
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
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru