|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
21.07.2011, 21:49 | #1 |
Пользователь
Регистрация: 11.07.2011
Сообщений: 20
|
БД через ServerSocket
Всем привет!
Задача стоит такая: 1. Клиент отправляет на сервер запрос в виде "SELECT * FROM test_db" 2. Сервер обращается к mysql с этим запросом, получает ответ через компонент Query1 : TSQLQuery; 3. Как передать в коде ответ из mysql клиенту Код:
Код:
|
21.07.2011, 22:42 | #2 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
22.07.2011, 08:21 | #3 |
Пользователь
Регистрация: 11.07.2011
Сообщений: 20
|
спасибо, буду разбираться
|
22.07.2011, 13:04 | #5 |
Пользователь
Регистрация: 11.07.2011
Сообщений: 20
|
надо будет ознакомиться
|
24.07.2011, 02:27 | #6 | ||
Пользователь
Регистрация: 11.07.2011
Сообщений: 20
|
Цитата:
Цитата:
Подскажите пожалуйста, как этот TStringList вывести в DBGrid, через цепочку ClientDataSet -> DataSource -> DBGrid ? Как тогда вносить записи в ClientDataSet ? Если не так, пожалуйста, подскажите способ, как вывести информацию из TStringList в DBGrid. У клиента нет прямой связи с БД. Только через ServerSocket. |
||
24.07.2011, 08:10 | #7 |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
Я к тому, что изобретаете вы велосипед. Коннект к удалённой базе через TCP сервер (включая поддержку протоколов HTTP/SOAP и др.), Борланд реализовал сто лет назад, называлось это MIDAS, сейчас DataSnap.
В принципе, если научите свой сервер общаться по протоколу SOAP, на клиенте можно будет использовать стандартный SOAP клиент (TSOAPConnection), и обычный DBGrid, которому пофиг, куда именно коннектится датасет. Связка будет SOAPConnection -> ClientDataSet -> DataSource -> DBGrid. > как этот TStringList вывести в DBGrid ну, допустим, вывели вы (хотя в проще в обычный Grid вывести), и что дальше? Юзер изменил одно поле, будете строить огород для обновления данных на сервере? А потом точно такой же огород для DBEdit и ещё десятка DB-aware контролов? Тогда уж проще наследовать свой объект от ClientDataSet и научить его работать с вашим сервером. Напишите свой DataSnap, фактически )
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
|
28.07.2011, 23:48 | #8 |
Пользователь
Регистрация: 23.07.2011
Сообщений: 10
|
БД через ServerSocket
ну у меня именно так.
только не поиграешь через прокси, маяк не умеет. конечно у меня впринципе есть идея как его можно пустить через проксю но оно не надо мне теперь |
29.07.2011, 08:23 | #9 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
30.07.2011, 03:45 | #10 | |
Пользователь
Регистрация: 11.07.2011
Сообщений: 20
|
Ага, уже изобрел и вроде бы ездит.
DBGrid в помойку, сделал свою сетку как класс и прикрутил к ней нужные для моей работы методы, сеттеры и геттеры. Просто почитал много инфы про грид.Пытался настроить под себя её. Пытался поставить халявную версию DBGridEh, но что то разочаровался. Цитата:
Например: (команда)(действие)(данные). - естественно с MD5 (Скажите, правильно ли я делаю передачу между клиент - сервером ?) Вот в "данные" как раз и пересылаю запарсеные записи из таблицы. А на стороне клиента разбираю через отдельно написанный класс. И все данные, пришедшие с сервера как раз пропускаю через такой парсер. Вот с этого парсера и пускаю в самопальную сетку все данные. Единственная проблема, это не знаю как отследить, что mysql запрос выполнен и только тогда отправлять с сервера весь пакет. А то получается, что с клиента передал команду серверу. А тот не дожидаясь ответа от mysql посылает ответ клиенту. Иногда приходит пустой пакет без ответа от mysql. Скажите пожалуйста, каким событием это отловить? Да и ошибки на стороне сервера думаю не так сложно отловить. А сам принцип работы как в PHP делаю. Тоесть послал запрос, жди ответа от сервера. А мне больше и не нужно. Данные в сетке в реальном времени мне не надо обрабатывать. Если нужно поменять какую нибудь запись в поле, то просто сделал отдельное окно для редактирования этой записи. Да, писанины много, но зато свое, родное, и за одно понимаешь как это все работает. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
progressbar и отправка файла через ServerSocket | D_E_N | Работа с сетью в Delphi | 2 | 15.02.2011 15:37 |
Отправка типизированных данных через Client/ServerSocket | prod87 | Работа с сетью в Delphi | 2 | 10.07.2010 20:47 |
Передача данных StringGrid через ServerSocket - ClientSocket | Polotenchik | Общие вопросы Delphi | 4 | 18.03.2010 01:42 |
Реализация бана через ServerSocket и ClientSocket | Sensizu | Общие вопросы Delphi | 0 | 04.01.2010 13:42 |
Одновременная работа с несколькими портами через ServerSocket | Sane2k | Работа с сетью в Delphi | 16 | 06.03.2009 17:24 |