| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Для новичков > Аналог DataSet-а из C# |
| Автор: Empire 29.1.2011, 19:14 |
| По стечению обстоятельств получилось так, что зная C# приходится программировать на Delphi XE. Так вот столкнулся с интересным недочётом, по моему мнению, реализацией DataSet-ов в Delphi по сравнению с C#, а именно с проблемой работы TClientDataSet-а в много поточном режиме, когда есть множество "читателей" и редкие "писатели". Хотелось бы иметь возможность из функций передавать объект "строка", который содержит ссылки на конкретные значения объектов "столбцов" относящихся именно к этой строке. Или передавать объект "столбец" с ссылками на все значения объектов "строк", которые относятся к этому столбцу. Или вообще обладающей объектами типа "ячейка". И ни каких курсоров, а только полностью инкапсулирование объекты, которые сами знают где они находятся и, если вызывающему коду нужно, он может извлечь все ссылки и ограничения из них. P.S. Мне нужно знать кто такую реализацию уже делал (с ссылками) или кто делал подобное. |
| Автор: CROTishka 3.2.2011, 11:54 |
| TDataSet это всего лишь оболочка над интерфейсом http://msdn.microsoft.com/en-us/library/adodb._recordset(VS.90).aspx объекта классаhttp://msdn.microsoft.com/ru-ru/library/ms681510(en-us,VS.85).aspx передавать ссылки на строки вы можете передавая ссылки на TFields, или же непосредственно работая с http://msdn.microsoft.com/en-us/library/adodb._record(VS.90).aspx. для того, чтобы передавать столбцы, вам придется выгрузить все данные из ADO-объекта, в свой формат. |
| Автор: Empire 4.2.2011, 21:18 |
| Вот что и плохо, для меня. Я уже начал писать свою оболочку, но думал, что кто-то уже такое сделал. TField не может получать значения из любой строки, а только при изменении курсора. А вот курсор - узкое место для много поточного приложения. |