|
21 / 21 / 12
Регистрация: 09.01.2013
Сообщений: 457
|
||||||
Qt приложение как mysql клиент04.01.2016, 17:05. Показов 5799. Ответов 73
Метки нет (Все метки)
пишу не совсем с нуля, читаю доки и примеры, найденные на просторах инета\рунета.
пока возникли два вопроса: 1 вопрос: имеется QTablewidget tw на него привязан код в mainwindow.cpp
какие параметры тока не менял, либо не отображает ничего, либо отображает 8 пустых строк. а в базе 9 строк(от 0 до 8) 2 вопрос: тут пара ньюансов: есть основное окно MainWindow где происходит(будет происходить вся) работа. - сделать чтобы при открытии программы, сначала запрашивало диалог\запрос авторизации для ввода логина\пароля. - или сделать кнопку в окне MainWindow где при открытии активна только она, при нажатии которой выходит окно диалога с запросом логина\пароля. и если верна авторизация то активировать все остальное в окне... как тут удобнее, можете посоветовать в плане реализации кода?
0
|
||||||
| 04.01.2016, 17:05 | |
|
Ответы с готовыми решениями:
73
Клиент серверное приложение ADO.net - mysql Клиент-Серверное приложение. Как сделать, чтобы сервер сам отправлял сообщения на клиент Клиент-серверное приложение: как определить, что сервер/клиент не отвечает в течении определенного времени |
|
21 / 21 / 12
Регистрация: 09.01.2013
Сообщений: 457
|
|
| 30.03.2016, 22:12 [ТС] | |
|
Премного благодарен.
в которой идут проверки на наличие представлений в sql и если нет, то создать.... и т.д. и т.п. уже сделал.
0
|
|
|
21 / 21 / 12
Регистрация: 09.01.2013
Сообщений: 457
|
|||||||
| 24.06.2016, 22:35 [ТС] | |||||||
|
опять теже грабли, только сегодня смог продолжить работу дальше. в общем проблема возникает вот тут:
в release\plugins\sqldrivers лежат все q***sql.dll файлы... в корне release в прогой лежит libmysql.dll доступ к бд есть, скопировал папку sql клиента и попробовал подключтиться вручную - все ок. а программа не подключается.
0
|
|||||||
|
21 / 21 / 12
Регистрация: 09.01.2013
Сообщений: 457
|
|
| 26.06.2016, 15:32 [ТС] | |
|
в общем программа только и запускается с того компа, на котором скомпилирована...
с тех машин откуда не подключалось, вручную из под mysql клиента все коннектится, доступ имеется, проблема не в портах/доступе/файерволе... уже скинул в каталог с программой все *.dll из папок mibgw и qt/bin толку ноль. имеет значение разрядность системы? все машины, даже где скомпилировано - все 64х разрядное, но q*mysql.dll и q*mysql.a, которые используются, собраны на 32х разрядной системе на другой машине. Добавлено через 23 минуты upd. на той машине где запускается, закрыл доступ к серверу. сообщение о недоступности показывается через 30-60 секунд. а на тех машинах где не запускается - сразу,при запуске приложения. Добавлено через 8 минут upd. 2 методом научного тыка нашел что это из-за libmysql.dll upd. 3 что то сейчас подумал...(и такое бывает) можете подсказать как задаются права на базу? user/pass или user/host и как посмотреть из консоли?
0
|
|
|
21 / 21 / 12
Регистрация: 09.01.2013
Сообщений: 457
|
|
| 28.06.2016, 22:47 [ТС] | |
Сообщение было отмечено Taatshi как решение
Решение
и так....
нашел в чем проблема, можете помочь, как ее решить. имеем дело: 1. компьютер win 7 x64 - распакованная сборка qt + mingw + qtcreator, которые были установлены на winxp x32 qt установлена в d:/path/qt/Qt mingw установлен в d:/path/qt/MinGW QtCreator установлен в d:/path/qt/QtCr на win 7 все перенесено в точно такие же директории. 2. libmysql.dll взятая и от рабочего сервера mysql x64 и от х32 пробного "домашнего" 3. проект. все компилируется, работает, связь есть, обработка идет, если запускать ее из qtcreator'а если ее запускать из проводника, то она запускается только на компьютере, где установлен/распакован qt, ради интереса распаковал qt еще на 2е машины, и ура, программа заработала. начал по очереди переименовывать все подпапки(поддиректории) в d:/path/qt/* и методом тыка нашел что программа требует папки plugins\sqldrivers... скопировал эту папку целиком, а не только sqldrivers в каталог с программой, не переименовывая папку sqldrivers в d:/path/qt/*. и программа ругается, что не может подключится, переименовываю sqldrivers в d:/path/qt/* обратно - все работает. почему программа не ищет эту папку рядом с собой? папка просто скопирована, а не создана, то есть ошибиться в названии я точно не мог. Добавлено через 10 минут проблема решилась тем, что нужно ложить папку sqldrivers не в plugins\ а рядом с программой. просто днем не мог полноценно заняться, работа по специальности таки немного другая
1
|
|
|
21 / 21 / 12
Регистрация: 09.01.2013
Сообщений: 457
|
|||
| 05.07.2016, 15:01 [ТС] | |||
|
ничего плохого не написал вроде... на повестке дня пара вопросов. 1. имеем функцию отображение sql данных(рабочая даже!!) привязываем ее к запуску программы и к одной кнопке... запускаем программу. нажимаем кнопку 10-20 раз. программа начинает кушать от 150 мегабайт оперативной памяти... при нажатии кнопки около 90 раз программа жрет уже 900 метров и файл подкачки увеличивается на 700 метров.... чем можно отследить, что там такое прожорливое? 2. существуют ли примеры такого типа: один или два до n+1 столбцов в модели QSqlTableModel, далее отображающихся в tableView, заменяются combobox'ами с данными типа name0, name1..., но в самих полях в базе только значения от 0, 1,..., n+1 при выборе в combobox'е в таблицу пишется соответствующее значение... 3. можно ли выборочно разрешить редактировать столбцы, а то нашел только либо все,либо ничего? Добавлено через 2 минуты нуда... сначала учат вначале [цензура], потом спрашивать.... так и тут.... не прочел что написали, и сразу "почему? зачем?" виноват...
0
|
|||
|
68 / 68 / 17
Регистрация: 20.01.2015
Сообщений: 347
|
|
| 07.07.2016, 15:35 | |
|
Где-то утечка памяти видимо. Скорее всего объекты создающиеся при нажатии на кнопку никуда не деваются, зато создаются новые.
0
|
|
|
21 / 21 / 12
Регистрация: 09.01.2013
Сообщений: 457
|
||||||||||||
| 10.07.2016, 16:05 [ТС] | ||||||||||||
|
вот весь код... который по кнопке вызывается:
0
|
||||||||||||
|
693 / 465 / 162
Регистрация: 01.10.2015
Сообщений: 1,274
|
||||||
| 10.07.2016, 16:13 | ||||||
new QSqlTableModel(this). Память выделяется под объект, но не освобождается перед следующим вызовом этой функции. Если вызов был осуществлен много раз, то получите "много"-1 бесхозных объектов, отъедающих память. Указатель model будет указывать на последний созданный объект.
0
|
||||||
|
21 / 21 / 12
Регистрация: 09.01.2013
Сообщений: 457
|
||||||
| 10.07.2016, 23:22 [ТС] | ||||||
|
немного почитал...
то есть достаточно одной строки в функцию ниже и все будет в порядке:
проверить не могу сейчас, максимум через неделю....
0
|
||||||
|
693 / 465 / 162
Регистрация: 01.10.2015
Сообщений: 1,274
|
|
| 10.07.2016, 23:39 | |
|
Следует разделить создание модели и код ее обновления, а model будет удалена родителем автоматически, даже если вы не упомянете ее в деструкторе
0
|
|
|
21 / 21 / 12
Регистрация: 09.01.2013
Сообщений: 457
|
||||||||||||||||
| 14.07.2016, 23:04 [ТС] | ||||||||||||||||
|
p.s. виноват за долгий ответ, не мог ранее...
то есть я могу сделать так: создание:
в принципе в субботу можно будет опробовать.... не ранее ![]() Добавлено через 4 минуты а запросы в БД. там тоже объекты создаются и хранятся все время в памяти? типа такого:
0
|
||||||||||||||||
|
21 / 21 / 12
Регистрация: 09.01.2013
Сообщений: 457
|
|
| 16.07.2016, 05:00 [ТС] | |
|
попробовал, работает
![]() правда только с моделью. на запросы - нифига. приложение вылетает в момент запуска. такой вопрос... есть немного/немало label'ов такого имени name[1-17]_ms, есть так же переменная, которая принимает такие же значения(и применяется в паре других мест для получения данных). как в цикле им(label) присвоить значения? ui->+srt_name+"_ms"->settext не работает... как и другие варианты которые пробовал
0
|
|
|
21 / 21 / 12
Регистрация: 09.01.2013
Сообщений: 457
|
||
| 11.09.2016, 19:13 [ТС] | ||
|
Не по теме: такс, опять за компьютером...
0
|
||
| 06.11.2017, 23:59 [ТС] | |
|
Не по теме: такс, вернулся из командировки годовой :)
0
|
|
|
Новые блоги и статьи
|
|||
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман.
Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
|