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