1 / 1 / 0
Регистрация: 02.02.2012
Сообщений: 17
1

Клиент-сервер + MySQL получение таблицы через соккет!

23.03.2012, 02:39. Показов 2702. Ответов 9
Метки нет (Все метки)

Задача следующая:
Сервер без gui, подключается к бд MySQL, клиент с gui подключается к серверу по Tcp и получает данные из таблиц бд или таблицы целиком,в зависимости от запроса!
Как получить через сокет стаблицу???
пока рассматриваю вариант: посылать данные клиенту в xml формате, клиент разбирает структуру и прикручивает к табличному выводу!
Если есть варианты попроще, буду рад попробовать!
Пробовал передавать через сокет структуру QSqlQueryModel , ничего не получилось ...может делал неправильно!
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.03.2012, 02:39
Ответы с готовыми решениями:

Заполнение таблицы mysql через форму и получение данных из нее
Таблица такая: id (это понятно) name (имя, соответственно) rent (здесь подразумевается, что...

Передача и получение клиент-сервер
У меня программа- консольное приложение с архитектурой клиент-сервер. Также сервер подключен к базе...

Клиент -> Сервер -> MySQL
Всем добрый вечер. В данный момент занимаюсь довольно крупным проектом, по крайней мере перед собой...

Клиент + Сервер + MySQL
Доброго времени суток. Собственно вопрос большой, требуется написать клиент-серверное приложение,...

9
Автор FAQ
2728 / 1424 / 89
Регистрация: 08.09.2011
Сообщений: 3,746
Записей в блоге: 1
23.03.2012, 11:27 2
а почему клиент на прямую не может подключаться к БД? в вашем случае, проще было бы сделать так: клиент шлет серверу sql запрос, сервер его обрабатывает ответ из БД ложит в файл и высылает этот файл клиенту, файл можно предварительно сжать но это прокатит если информация текстовая в БД
0
1 / 1 / 0
Регистрация: 02.02.2012
Сообщений: 17
23.03.2012, 11:48  [ТС] 3
Вот этот вариант мне нравится! можете по подробнее расписать как результат sql запроса поместить в файл и потом извлечь его и прикрутить к TableView на стороне клиента?
0
Автор FAQ
2728 / 1424 / 89
Регистрация: 08.09.2011
Сообщений: 3,746
Записей в блоге: 1
23.03.2012, 11:56 4
структура файла зависит от содержимого таблиц и ее структуры... вообщем надо думать, я в принципе подобным не занимался, но не думаю что там что-то сложное...
1
1664 / 1133 / 80
Регистрация: 21.08.2008
Сообщений: 4,725
Записей в блоге: 1
23.03.2012, 12:27 5
Цитата Сообщение от kabanishe23 Посмотреть сообщение
пока рассматриваю вариант: посылать данные клиенту в xml формате, клиент разбирает структуру и прикручивает к табличному выводу!
и это правильный вариант при 3-х звенной структуре.
При чем можно не тягать все данные на клиента, а только ту их часть, которая будет отображаться в ГУИ + какой то кеш (5-10% от общего объема), а остальную часть подтягивать по мере пролистывания данных
пример: http://harmattan-dev.nokia.com/docs/library/html/qt4/itemviews-fetchmore.html
ЗЫ: При этом появляются плюсы в побобной архитектуре:
1. Нагрузка на БД уменьшается (т.к. для БД лучше много мелких одинаковых запросов, нежели один большой)
2. Данные по сети можно сжимать gzip-ом например, в результате чего меньше траффик.
3. Данные по сети можно шифровать и отправлять через SSL.
0
1 / 1 / 0
Регистрация: 02.02.2012
Сообщений: 17
23.03.2012, 16:33  [ТС] 6
oxotnik, ты прав! я почти доделал своё задание..... осталось только сделать корректный вывод данных в таблицу.... для этого нужен двумерный массив строк
на
C++ (Qt)
1
QVariant<QVariant<QString>>
list; ругается!
может подскажете как лучше реализовать?
0
Эксперт С++
1934 / 1046 / 109
Регистрация: 29.03.2010
Сообщений: 3,167
23.03.2012, 16:45 7
ещё бы не ругался))) QVariant - не шаблонный класс!

Добавлено через 26 секунд
QList<QStringList> вот вам двумерный массив строк!
1
1 / 1 / 0
Регистрация: 02.02.2012
Сообщений: 17
23.03.2012, 23:27  [ТС] 8
Всем спасибо за советы!
Реализовал с помощью сообщений в формате xml и парсера QXmlStreamReader.
В таблицу данные попадают с помощью QStandardItem и двумерного строкового массива, реализованного средствами QList<QStringList> .... это на случай если кому будет интересно!
0
1 / 1 / 0
Регистрация: 02.02.2012
Сообщений: 17
26.03.2012, 02:57  [ТС] 9
Помогите с установкой полученного на другую машину! релиз версия запускается на той машине, на которой всё писалось,но на других не запускается .... ругается на драйвер MySQL .....библиотеки закидываю в папку с программой,но не помогает!
0
Автор FAQ
2728 / 1424 / 89
Регистрация: 08.09.2011
Сообщений: 3,746
Записей в блоге: 1
26.03.2012, 11:09 10
почитайте куда надо ложить драйвера sqldrivers
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.03.2012, 11:09

Клиент/Сервер, LNet и передача/получение JSON
1. Есть сервер и клиент написанные с использованием компонента LNet, мне не понятно как...

Клиент-Сервер "MSAccess-MySQL"
Всем привет. Может кто подскажет, как из MSAccess подключиться к MySQL? Заранее благодарен.

Перезагрузить mysql сервер с обнулением таблицы mysql - опция mysqld --skip-grant-tables
Здравствуйте , столкнулся с такой проблемой ,неудаётся подключиться к серверу mysql из командной...

Как установить клиент и сервер MySQL?
При установке mysql на VPS-сервер (Ubuntu 12.04) возникла проблема. sudo apt-get install...


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

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

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