Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.01.16;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.008 c
3-48961
Step3
2002-12-23 12:22
2003.01.16
сшитие таблиц


4-49370
linker
2002-11-29 04:18
2003.01.16
Помогите с разрывом Connecta


3-48885
ruslanyd
2002-12-19 22:35
2003.01.16
Обновление Lookup полей


3-48886
KidMan
2002-12-19 22:21
2003.01.16
Работа с DBF и с повторяющимися данными


3-48884
Senator
2002-12-19 17:29
2003.01.16
фильтр





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский