Форум: "Базы";
Текущий архив: 2003.06.02;
Скачать: [xml.tar.bz2];
Внизвызов ADODataSet по номеру Найти похожие ветки
← →
Инна (2003-05-12 21:05) [0]если кто помнит мой вопрос, супер, кто не читал - повторю: как можно вызывать ADODataSet по номеру, чтобы можно было работать с ADODataSEtами в цикле?
мне тут пришла такая простая мысль в голову :): при создании формы опреледелять массивы ADODataSetов, а потом обращаться к ним, как к ячейкам массива. я пробовала - все получается. и аналогично с DBGridами. но меня гнетет, что все так просто... как на ваш опытный взгляд, какая тут может быть подлянка?
← →
wicked (2003-05-13 02:07) [1]по идее никаких, но для верности ты бы код привела.... хотя бы схематично...
← →
KSergey (2003-05-13 06:18) [2]Ну определили масив, и что тут такого? Важно потом не забыть созданные динамически компоненты уничтожить - вот и все.
В принципе можно и по другому поступить: перебрать последовательно Components (в случае создания компонент в DesignTime, и выполнить нужный код для всех нашедшихся TADODataSet.
← →
Валера (2003-05-13 10:09) [3]А это не то:
Provides an indexed array of all active datasets for a connection component.
property DataSets[Index: Integer]: TCustomADODataSet;
Description
Use DataSets to access active datasets associated with a connection component. An active dataset is one that is currently open.
Datasets connected through an ADO connection object can be accessed in sequence through the DataSets property in a loop based on DataSetCount.
var
i: Integer;
begin
for i := 0 to (ADOConnection1.DataSetCount – 1) do
ListBox1.Items.Add(ADOConnection1.DataSets[i].Name)
end;
Note: If a TADOClientDataSet uses the connection component to connect to a database server, DataSets lists the internal dataset that the client dataset creates to access data, not the client dataset itself.
← →
Инна (2003-05-14 01:00) [4]Валера, первый раз вижу :( где же Вы были месяца полтора назад? :) т.е. все-таки можно обращаться к ADODataSetам по номерам - ADOConnection.DataSet[i]? похоже на то... но смысл последнего предложения мне не очень ясен - если ADODataSet использует ADOConnection для доступа на сервак, то этото список датасетов содержит только внутренние датасеты, созданные для доступа к данным, а не сами наборы данных... т.е. что этот список данных не содержит что ли? так этого от него вроде никто не требует.. или что? и еще друцкий вопрос - ADOClientDataSet и ADODataSet это одно и то же? :)))
код примерно такой на создание формы:
massiv[1]:=ADS1;
...
massiv[4]:=ADS4;
а потом обращение в цикле как к ячейке массива номер i со всеми полагающимися ADODataSet функциями и процедурами. с DBGridami так же.
← →
kaif (2003-05-14 01:49) [5]Если уж задача такая общая, как работать с DataSet-ами в цикле, и хочется посложнее написать, то может быть стоит сделать свой компонент, хранящий список DataSet-ов и индексное свойство для обращения к ним. Или свойство-коллекцию. Тогда все методы (если они универсальные) сканирования DataSet-ов тоже можно туда запихать.
Хотя как такое может быть я пока не понимаю... (куча dataSet-ов, Grid-ов к ним и какие-то общие дела). У меня так почему-то не бывает (может, к счастью).
← →
kaif (2003-05-14 01:50) [6]Если же задача носит частный характер (ну просто надо сканировать конкретно эти датасеты), то Ваше решение с массивом - самое простое и правильное.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.06.02;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.007 c