Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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

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

icq: 385119880
skype: worthywarrior
По умолчанию 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, 17:38   #2
Аватар
Модератор
Заслуженный модератор
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Адрес: Северодонецк.ua
Сообщений: 18,005
Репутация: 6348
По умолчанию

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

ClientDataSet.ProviderName = имя DataSetProvider-а

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

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

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

icq: 385119880
skype: worthywarrior
По умолчанию

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

ClientDataSet.ProviderName = имя DataSetProvider-а

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

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

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

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

icq: 385119880
skype: worthywarrior
По умолчанию

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

icq: 385119880
skype: worthywarrior
По умолчанию

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

icq: 385119880
skype: worthywarrior
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
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 вне форума   Ответить с цитированием
Старый 28.07.2017, 00:10   #8
Rockot
Форумчанин
 
Аватар для Rockot
 
Регистрация: 01.06.2012
Сообщений: 139
Репутация: 26

icq: 385119880
skype: worthywarrior
По умолчанию

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

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

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

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


00:23.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru