Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.01.16;
Скачать: CL | DM;

Вниз

TQuery & TStream   Найти похожие ветки 

 
_landy   (2002-12-19 15:37) [0]

Существует ли способ сохранить экземпляр TQuery в поток вместе со всеми полями и данными, которые вернул запрос? Вариант с отдельным сохранением данных оставлен на крайний случай.


 
Prooksius ©   (2002-12-19 15:40) [1]

А зачем? Опиши задачу, может, этого и не надо.


 
Serginio   (2002-12-19 15:58) [2]

Через TClientDataSet


 
_landy   (2002-12-20 10:42) [3]

Я уже думал так, но не хотелось бы привлекать для простой задачи Midas, CORBA, спец-сервер и т.д. Нужно просто передать по сети результат выполнения запроса, не более того.

Есть ли способ заставит TClientDataSet работать без Midas?


 
Prooksius ©   (2002-12-20 10:45) [4]


> Нужно просто передать по сети результат выполнения запроса

Странно, а может просто послать запрос к базе с той машины, куда ты хочешь передать этот результат? Ведь так легче.


 
_landy   (2002-12-20 12:18) [5]

Так легче, но так делать нельзя по условиям задачи. Необходимо трехзвенное приложение для работы на тонком канале, где нет возможности поднять BDE или ODBC. Да и передача идет только в одну сторону, update делать тоже не надо, только select.


 
Reindeer Moss Eater   (2002-12-20 12:21) [6]

TStream + TWriter + соглашение о заголовке пакета между "серединой" и "клиентом"


 
_landy   (2002-12-20 12:54) [7]

Именно с этого я и начинал. Создавал поток и вызывал WriteComponent (Query). Насколько написано в доке, экземпляр TWriter создается автоматически. Проблема в том, что данные (результат выполнения запроса) таким образом не сохраняются, сохраняются только properties объекта.


 
Reindeer Moss Eater   (2002-12-20 13:01) [8]

Ну так все правильно.
На клиенте тебе нужна копия экземпляра TQuery или сами данные?
Думаю что данные.
Для этого в поток нужно писать данные, а не компонент.


 
_landy   (2002-12-20 14:33) [9]

Это все да, просто предполагалось мне, что есть решение по передаче всего объекта целиком, вместе с данными. Чтоб на другой стороне опять все в экземпляр TQuery не заталкивать, дабы прозрачность этого процесса организовать. Но, если нет, так и буду делать.


 
Sergey Masloff   (2002-12-22 22:06) [10]

_landy (20.12.02 10:42)
>Я уже думал так, но не хотелось бы привлекать для простой >задачи Midas, CORBA, спец-сервер и т.д. Нужно просто передать >по сети результат выполнения запроса, не более того.

>Есть ли способ заставит TClientDataSet работать без Midas?

Если у тебя УЖЕ есть приложение на сервере из которого ты хочешь передать TQuery клиенту какие у тебя основания не хотеть использовать МИДАС с его стандартными опробованными средствами и городить свой огород? TClientDataSet без мидас работать может конечно. Пиши сервер, клиент посылает ему текст запроса (через, допустим, сокетконнекшн) сервер загружает SQL в TQuery.SQL, открывает запрос, фетчит все записи, потом берешь собираешь все данные, например, в XML, этот XML компрессуешь, передаешь клиенту, он парсит XML, вытаскивает данные о полях, создаешь динамически поля для TClientDataSet, потом их программно заполняешь. Потом можешь наслаждаться ;-))




Страницы: 1 вся ветка

Текущий архив: 2003.01.16;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.011 c
1-49158
akvilon
2003-01-06 03:21
2003.01.16
Как сделать форму, к примеру, круглой


1-49060
kex86
2003-01-08 09:58
2003.01.16
как сделать PopUp меню как в XP office


14-49271
dRake
2002-12-27 12:01
2003.01.16
ASCII/ANSI


14-49237
Driverrr
2002-12-26 16:27
2003.01.16
NTFS


14-49273
Johnny Smith
2002-12-24 12:11
2003.01.16
Давайте попинаем Борланд - благо, есть за что: