Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.06.02;
Скачать: CL | DM;

Вниз

вызов 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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.014 c
4-3221
Psibug
2003-04-01 10:07
2003.06.02
Почему не работает (работает по разному) Sleep


7-3184
SiJack
2003-04-01 15:03
2003.06.02
Проблема - не дать отключится монитору!!!


3-2764
Инна
2003-05-12 21:05
2003.06.02
вызов ADODataSet по номеру


4-3204
Manix
2003-04-03 20:07
2003.06.02
SendInput и Delphi ???


1-2936
Zilog
2003-05-20 10:42
2003.06.02
Вопрос по алгоритмам.