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

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

TClientDataSet иерархия fielddefs


анонимус ©   (2011-08-30 02:19:00) 

Добрый день!

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

http://www.interface.ru/home.asp?artId=1272

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

собственно, в идеальном случае мне и нужно было хранить деревья значений. Конечно можно было бы просто добавить в обычную таблицу дополнительных колонок в которых в каждой указывался бы родительский элемент, но раз можно сделать дерево, то я пытался его сделать.

Т.е. один объект содержит другой объект, который в свою очередь содержит еще какие то объекты.  Вообщем попытался я добавить в FieldsDefs такую древовидную структуру полей, и это у меня тоже получилось. Но при попытках сохранить все эти чудеса на диск командой saveToBinary MyBase file. Все мои старания  выравниваются в обыкновенную таблицу, т.е. поля которые были в подчинении встают на тот же уровень на которым находится родительское поле. Пробовал удалить файл базы данных и сделать Crete DataSet сначала - результат был тот же.

Вопрос, для чего же нужна эта возможность делать древовидную структуру и как ее готовить?


Сергей М.   (2011-08-31 22:35:00) [1]


> для чего же нужна эта возможность делать древовидную структуру
> и как ее готовить?


Едрён-матрён)

Ну написано же в справке:

Note:
You can’t create tables that contain object fields.
ChildDefs is only used in field definitions that reflect an existing dataset, not field definitions that are used to create a new dataset.


Ega23   (2011-08-30 13:33:00) [2]


> Не больше чем сам клиентдатасет

Ну побольше, вообще-то. Но не намного.


OW   (2011-08-30 12:43:00) [3]

ну не.. изврат..
стандартно, через пэрент_ид удобнее и привычнее, имхо..


Inovet   (2011-08-30 12:26:00) [4]

А чем пугают сторонние? JET во всех виндах 10+ лет уже, или встраиваемый какой можно взять.


Медвежонок Пятачок   (2011-08-30 12:22:00) [5]

а что то ниодного xml с картинкой я в жизни не видел )

тебе не повезло.
я вот видел даже css с картинкой внутри.

Он много места занимает.
Не больше чем сам клиентдатасет


анонимус   (2011-08-30 12:20:00) [6]


> как это?


встаем на поле в разделе FieldDefs, в свойствах открываем ChildDefs и туда добавляем. А потом оно все выпрямляется )

в XML тоже пробовал, тоже выпрямляется. а еще я не хочу его. Он много места занимает. И потом я питаю надежду впихнуть туда картинку, а что то ниодного xml с картинкой я в жизни не видел )


OW   (2011-08-30 09:29:00) [7]


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

как это?


Ega23   (2011-08-30 08:12:00) [8]


> можно было бы просто добавить в обычную таблицу дополнительных
> колонок в которых в каждой указывался бы родительский элемент


или вообще XML


Наверх

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