Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.07.2017, 15:36   #1
Rockot
Форумчанин
 
Аватар для Rockot
 
Регистрация: 01.06.2012
Сообщений: 139
По умолчанию DataSnap передача TDataSet от сервера клиенту

Всем доброго времени.

Подскажите пожалуйста, как организовать загрузку TDataSet в компонент ClientDataSet.

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

Код:
var ds: TDataSet
begin
  while not ds.eof do
    lb.lines.add( ds.fieldbyname('id').value );
    ds.next;
end;
Что мне нужно, у меня лежит в ДатаМодуле ClientDataSet и я бы хотел использовать его, в него загрузить dataset и уже работать с любой формы с ним. Как сиё реализовать?

Client DataSnap планируется мобильное приложение, так что располагаю я возможностями FMX.

С ClientDataSet так мало работал и очень редко встречался. Может книги какие есть на эту тему, был бы рад предложениям к прочтению.
Следствие: 99% проблем, сваливаемых на Microsoft, является следствием тупости самих программистов.
Rockot вне форума Ответить с цитированием
Старый 27.07.2017, 16:38   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

ClientDataSet.RemoteServer = какой-то Coonection из DataSnap. Использовал DCOMConnection и SocketConnection для трех-звенки и LocalConnection для двух-звенки. Есть еще другие, с ними не работал. Для трех-звенки нужен удаленный датамодуль на сервере приложений

ClientDataSet.ProviderName = имя DataSetProvider-а

DataSetProvider.DataSet = датасет-кверик, ADOQuery например с запросом

ADOConnection если ADO или аналог для других провайдеров

Можно и по другому, но так и не пришлось воспользоваться )) Поэтому промолчу
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 27.07.2017, 16:45   #3
Rockot
Форумчанин
 
Аватар для Rockot
 
Регистрация: 01.06.2012
Сообщений: 139
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
ClientDataSet.RemoteServer = какой-то Coonection из DataSnap. Использовал DCOMConnection и SocketConnection для трех-звенки и LocalConnection для двух-звенки. Есть еще другие, с ними не работал. Для трех-звенки нужен удаленный датамодуль на сервере приложений

ClientDataSet.ProviderName = имя DataSetProvider-а

DataSetProvider.DataSet = датасет-кверик, ADOQuery например с запросом

ADOConnection если ADO или аналог для других провайдеров

Можно и по другому, но так и не пришлось воспользоваться )) Поэтому промолчу
Только начал гуглить в эту степь, а есть пример? А я умник сделал функцию которая обращается к FireDac делает там запрос, а потом датасет в ресульт, а клиент к этой функции обращается и получает в ресульте датасет))
Следствие: 99% проблем, сваливаемых на Microsoft, является следствием тупости самих программистов.
Rockot вне форума Ответить с цитированием
Старый 27.07.2017, 16:47   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Так сначала расскажи что планируешь - 3-х или 2-х звенку
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 27.07.2017, 16:50   #5
Rockot
Форумчанин
 
Аватар для Rockot
 
Регистрация: 01.06.2012
Сообщений: 139
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Так сначала расскажи что планируешь - 3-х или 2-х звенку
По идее 3-х звенка это называется)))
Сервер MySQL где то там у провайдера, а у меня сервер DataSnap дома, а мобилка подключается уже к DataSnap
Следствие: 99% проблем, сваливаемых на Microsoft, является следствием тупости самих программистов.
Rockot вне форума Ответить с цитированием
Старый 27.07.2017, 16:54   #6
Rockot
Форумчанин
 
Аватар для Rockot
 
Регистрация: 01.06.2012
Сообщений: 139
По умолчанию

Я просто не понимаю что такое 2х звенка это когда БД локально лежит что ли? Всякие Access?
Следствие: 99% проблем, сваливаемых на Microsoft, является следствием тупости самих программистов.
Rockot вне форума Ответить с цитированием
Старый 27.07.2017, 17:44   #7
Rockot
Форумчанин
 
Аватар для Rockot
 
Регистрация: 01.06.2012
Сообщений: 139
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
ClientDataSet.RemoteServer = какой-то Coonection из DataSnap. Использовал DCOMConnection и SocketConnection для трех-звенки и LocalConnection для двух-звенки. Есть еще другие, с ними не работал. Для трех-звенки нужен удаленный датамодуль на сервере приложений

ClientDataSet.ProviderName = имя DataSetProvider-а

DataSetProvider.DataSet = датасет-кверик, ADOQuery например с запросом

ADOConnection если ADO или аналог для других провайдеров

Можно и по другому, но так и не пришлось воспользоваться )) Поэтому промолчу
http://www.realcoding.net/teach/Delp...0/Index10.html
Делал по примеру этой статьи, но у ClientDataSet так и не появляются в ProviderName все компоненты, которые у сервера ни одного...

Да и бред какой-то получается, на сервер бросили компонент, а он каким-то волшебным образом появиться у клиента, ну в принципи реально, но что-то плохо вериться.
Следствие: 99% проблем, сваливаемых на Microsoft, является следствием тупости самих программистов.
Rockot вне форума Ответить с цитированием
Старый 27.07.2017, 23:10   #8
Rockot
Форумчанин
 
Аватар для Rockot
 
Регистрация: 01.06.2012
Сообщений: 139
По умолчанию

Если кому требуется помощь в освоении DataSnap смотрите видео, но советую перед просмотром начитаться документации, хелпов и всего что есть по DataSnap в google.

Собственно ссылка на само видео:
https://www.youtube.com/watch?v=cKwWAtTfu2E
Следствие: 99% проблем, сваливаемых на Microsoft, является следствием тупости самих программистов.
Rockot вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ответ от сервера клиенту primerb C++ Builder 0 10.05.2015 18:43
Передача формы по сети от сервера к клиенту prizrak1390 Работа с сетью в Delphi 11 03.11.2014 19:02
Передача произвольного потока с сервера на клиент datasnap galamay-evg Помощь студентам 0 15.02.2011 13:43
Отправка сообщения с сервера клиенту. securus Работа с сетью в Delphi 0 31.08.2010 03:32
прием передача сообщения от сервера клиенту и на оборот Lokos Работа с сетью в Delphi 4 24.08.2010 18:24