Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Набор данных без базы. [D7]


kolos_rus ©   (2005-09-21 18:20:00) 

Подскажите плз, существуютли компоненты аналогичные  потомкам TDataSet, с которыми можно работать через DataSource и при этом не надо связывать с базой. Вообщем такой виртуальный набор, но с возможностью описать поля.


kolos_rus   (2005-09-22 10:18:00) [1]

Большое всем спасибо. Действительно интересный компонент.

> Сначала надо вроде выполнить
> ClientDataSet1.CreateDataSet

Уже сам наткнулся. Еще раз спасибо.


Sergey13   (2005-09-22 10:14:00) [2]

2[6] kolos_rus ©   (22.09.05 09:43)
Сначала надо вроде выполнить
ClientDataSet1.CreateDataSet


Digitman   (2005-09-22 10:12:00) [3]


> Чего ему надо?


ему надо data packet (см.св-во Data), который подготавливается заранее либо указанным тобой DataSetProvider'ом либо тобой самим в некоем файле (см. TClientDataset.LoadFromFile/LoadFromStream).

файл должен содержать данные в специфичном для CDS формате и м.б. подготовлен с пом. TXMLTransform-компонента на основании данных, предварительно подготовленных тобой в XML-файле

см. справку "Converting XML documents into data packets"


msguns   (2005-09-22 10:11:00) [4]

>kolos_rus ©   (22.09.05 09:43) [6]

Вы или вопрос поставили некорректно, или не поняли сути клиентского датасета.

Его можно испрользовать в двух основных случаях:

1. Автономизации доступа к БД. Когда "кусок" БД как бы копируется клиенту и отдается ему на полное "растерзание". Такой НД можно сохранять на локальном диске, а потом "поднимать". Полезная штука, если БД удалена и коннект паршивый (например, модемный).
При таком использовании должен быть провайдер, осуществляющий собственно транспортировку НД от сервера к клиенту (начальная выборка или после сеанса передачи изменений серверу) и от клиента к серверу (измененный НД) либо некий компонент доступа. При этом в обоих случаях структура НД (кол-во, последовательность и тип полей), как правили заранее и жестко определена и клиенту ничего "выдумывать" не надо.

2. Собственный механизм хранения данных при отсутствии каких бы то ни было средств СУБД. В этом случае структура НД известна только клиенту, ибо "сервера" не может быть по определению. Поэтому в первый раз сам клиент и должен позаботиться о создании и сохранении этого датасета. При последующих вызовах НД просто загружается в ОП (см. соотв.методы)

В обоих случаях CDS дает возможность корректировать любые поля НД (в том числе реально в БД не существующие), ибо для него все они являются "собственностью" клиента, вольному делать с ними что вздумается.


KSergey   (2005-09-22 09:59:00) [5]

Ему dll-ка нужна
В хелпе написано более точно какая. Есть в поставке дельфи.

К стати, в каком-то смысле этим он и хуже упомянутых компонентов "третьих фирм".


kolos_rus   (2005-09-22 09:43:00) [6]


> А чем [1] не устраивает

Попробовал. Взял пустую форму, положил на нее clientdataset, описал в нем пару полей, при активации окна выполняется одна команда
clientdataset1.open;
получаю ошибку:
'ClientDataSet1: Missing data provider or data packet'
Чего ему надо?


evvcom   (2005-09-22 09:36:00) [7]

А чем [1] не устраивает? И не надо без нужды завязываться на компоненты третьих фирм.


Sergey13   (2005-09-22 09:33:00) [8]

2[3] kolos_rus ©   (22.09.05 09:10)
В библиотеке Rx.
Еще можно EhLib поставить. Там тоже есть такая байда. TMemTableEh.
http://www.ehlib.com/RUS/default.htm


kolos_rus   (2005-09-22 09:10:00) [9]


> TRxMemoryData

Подскажите где его взять


Плохиш   (2005-09-21 18:51:00) [10]

TRxMemoryData


Johnmen   (2005-09-21 18:31:00) [11]

TClientDataSet


Наверх

Титульная страница Поиск, карта сайта Написать письмо