Russian Qt Forum
Май 12, 2024, 19:13 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: ошибки подключения к SQLite  (Прочитано 4930 раз)
yura91
Гость
« : Июнь 03, 2016, 19:55 »

У меня возникает следующая ошибки setGeometryDp: Unable to set geometry 825x959+8+30 on QWidgetWindow/'TaskWindowWindow'. Resulting geometry:  825x750+8+30 (frame: 8, 30, 8, 8, custom margin: 0, 0, 0, 0, minimum size: 709x293, maximum size: 16777215x16777215).

QSqlDatabasePrivate::removeDatabase: connection 'qt_sql_default_connection' is still in use, all queries will cease to work.
QSqlDatabasePrivate::addDatabase: duplicate connection name 'qt_sql_default_connection', old connection removed.

Первая касается размеров виджета. Как можно настроить размеры виджета, чтобы это сообщение ушло? И второе на счет подключения к базе данных
использую функцию
[CPPQT]void DataBase::dataclose()
{
    QString connection;
    connection = db.connectionName();
    db.close();
    db = QSqlDatabase();
    db.removeDatabase(connection);
}[/CPPQT]

Но не знаю в какой момент ее вызывать. Это сообщение выскакивает когдая добавляю запись в БД в виджете AddClient и перехожу в виджет TaskWindow(сразу возникает QSqlDatabasePrivate::removeDatabase: connection 'qt_sql_default_connection' is still in use, all queries will cease to work.
QSqlDatabasePrivate::addDatabase: duplicate connection name 'qt_sql_default_connection', old connection removed. ) Как исправить код,чтобы не было этих сообщений?? Можете посмотреть? Я приложил архив с кодом.
Записан
Kurles
Бывалый
*****
Offline Offline

Сообщений: 480



Просмотр профиля
« Ответ #1 : Июнь 05, 2016, 00:18 »

ты в void TaskWindow::on_click() открываешь и не закрываешь соединение с БД.
в конце этого метода вызывай db->dataclose();
Ну и вообще в теории можно один раз в начале работы программы открыть соединение с БД, и в конце работы его закрыть, а не закрывать/открывать на каждый чих. И еще в глаза бросилось куча new и ни одного delete. C C# что ли пришёл? =)
Записан

Код
C++ (Qt)
while(!asleep()) sheep++;
yura91
Гость
« Ответ #2 : Июнь 05, 2016, 11:16 »

Я на Java под андроид пишу. А на Qt сервак делаю под винду на котором SQLite используется. А смотри еще такой вопрос, когда ОС Windows переходит в спящий режим то все работающие приложения, все потоки тоже засыпают да? А если у меня работает сервер TCP на Windows, то в спящем режиме он перестанет слушать соединения? А как тогда вывести систему или запретить ей уходить в спящий режим, пока работает сервер? Какие есть средства Qt для этого?
Записан
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #3 : Июнь 05, 2016, 14:22 »

Я на Java под андроид пишу. А на Qt сервак делаю под винду на котором SQLite используется. А смотри еще такой вопрос, когда ОС Windows переходит в спящий режим то все работающие приложения, все потоки тоже засыпают да? А если у меня работает сервер TCP на Windows, то в спящем режиме он перестанет слушать соединения? А как тогда вывести систему или запретить ей уходить в спящий режим, пока работает сервер? Какие есть средства Qt для этого?

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

yura91
Гость
« Ответ #4 : Июнь 06, 2016, 13:34 »

А если так винду настроить и она не будет уходить в спящий режим то это сильно будет жрать батарею(если на ноуте) и сильно будет нагружать процессор?
Записан
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #5 : Июнь 06, 2016, 13:36 »

А если так винду настроить и она не будет уходить в спящий режим то это сильно будет жрать батарею(если на ноуте) и сильно будет нагружать процессор?

Это ведь сервер. А если винда уйдет в спящий, сервер станет недоступен
Записан

Kurles
Бывалый
*****
Offline Offline

Сообщений: 480



Просмотр профиля
« Ответ #6 : Июнь 06, 2016, 22:04 »

Я на Java под андроид пишу. А на Qt сервак делаю под винду на котором SQLite используется. А смотри еще такой вопрос, когда ОС Windows переходит в спящий режим то все работающие приложения, все потоки тоже засыпают да? А если у меня работает сервер TCP на Windows, то в спящем режиме он перестанет слушать соединения? А как тогда вывести систему или запретить ей уходить в спящий режим, пока работает сервер? Какие есть средства Qt для этого?
Может стоило и сервак на яве писать? =) Но поводу спящего режима ответили уже, средствами ОС это делается, не Qt.
Записан

Код
C++ (Qt)
while(!asleep()) sheep++;
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.065 секунд. Запросов: 23.