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

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

Посоветуйте компонент memory table, кто имеет опыт работы с ним? [D7]


Zelius ©   (2003-10-30 13:03:00) 

Знаю, что есть TrxMemoryTable, TClientDataSet, еще какой-то был компонент, но не имею опыта, поэтому прошу подсказать тех кто на этом собаку съел, какой компонент лучше! Спасибо!


Zelius   (2003-10-30 19:51:00) [1]

Ок, спасибо!


sniknik   (2003-10-30 19:06:00) [2]

> так как надо таблицы создавать пряма в программе
ADODataSet1.CreateDataSet;
хелп смотриш по клиентдатасет там пример, меняеш ClientDataSet1 на ADODataSet1, работает.


Delirium   (2003-10-30 18:58:00) [3]

Кусок кода из программы, остальные вопросы в Help

var
R:_RecordSet;
begin
R:=CreateOLEObject("ADODB.RECORDSET") as _RecordSet;
R.CursorType:=adOpenStatic;
R.CursorLocation:=adUseClient;
R.LockType:=adLockOptimistic;
R.Fields.Append("FieldName", adChar, 20, adFldMayBeNull);
R.Fields.Append("FieldValue", adChar, 200, adFldMayBeNull);
R.Fields.Append("FieldType", adChar, 1, adFldMayBeNull);
R.Open(EmptyParam, EmptyParam, adOpenStatic, adLockOptimistic, adOpenUnspecified);
// Значения
R.AddNew(EmptyParam, EmptyParam);
R.Fields.Item["FieldName" ].Value:="r_names";
R.Fields.Item["FieldValue"].Value:="M";
R.Fields.Item["FieldType" ].Value:="";
R.AddNew(EmptyParam, EmptyParam);
R.Fields.Item["FieldName" ].Value:="id_name";
R.Fields.Item["FieldValue"].Value:=adoBooks.Recordset.Fields["id_name"].Value;
R.Fields.Item["FieldType" ].Value:="K";
...


Zelius   (2003-10-30 18:53:00) [4]


> Delirium © (30.10.03 18:04) [9]

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


Delirium   (2003-10-30 18:04:00) [5]

http://www.delphimaster.ru/cgi-bin/forum.pl?id=1067507950&n=1


Zelius   (2003-10-30 18:02:00) [6]

А чего тут не ясного :)
Нужен компонент для работы с данными в памяти и наследник TDataSet, что бы с ним работали все стандартные процедуры и компоненты!
Кстати, я не подозревал, что TADODataSet можно использовать в таком качестве. Подкиньте плиз статью или пример на эту тему. Спасибо!


MsGuns   (2003-10-30 17:49:00) [7]

Не может быть лучшего решения для неясно поставленной задачи ;)


sniknik   (2003-10-30 17:22:00) [8]

ну вот два выбора два решения, добавлю третье TADODataSet. удобнее, привычнее, в некоторых ситуациях быстрее чем TClientDataSet, тоже позволяет работать с *.cds, индексы не нужны файлы получатся без них меньше, в памяти сортировка по Sort идет "влет" и т.д.
но с другой стороны, для трехзвенки не пойдет (midas), но есть замена аналог (RDS).

счас еше ктонибудь выскажется будет четвертое мнение ;о)), очень трудно выбрать лутшее (может потому что его нет?).


Zelius   (2003-10-30 17:12:00) [9]

пока остановился на TkbmMemTable... Но посмотрю на TClientDataSet, есть подозрение, что он за собой много лишнего потянет, так как заточен на многозвенку...


MsGuns   (2003-10-30 15:52:00) [10]

Все же рекомендую TClientDataSet. Масса плюсов. Например, поддержка агрегатов, независимость от формата данных, сохранение индексов в "одном стакане" с данными и много еще чего вкусного.
Хотя, возможно, есть другие компоненты, у которых все это есть и много еще чего сверху ;)) Но есть ли они в станд.дельфях ?


sniknik   (2003-10-30 14:04:00) [11]

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


Zelius   (2003-10-30 13:58:00) [12]

в том то и дело, что я не работал с ними и поэтому совершенно не знаком!


sniknik   (2003-10-30 13:39:00) [13]

TADODataSet вполне заменяет TClientDataSet.

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


Наверх

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