![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Набор данных без базы. [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