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

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

Как получить данные из DataSet не меняя его активную запись.


Страницы:   1 2

Бездомный ©   (2011-12-05 12:35:00) 

Желательно с поиском по ключевому полю.

Пока сделал так, но, чувствую, можно сделать как-то быстрее, элегантнее, что ли:

  IDField := List.DataController.KeyField;
  IDValue := Node.KeyValue;

   DL := TDataLink.Create;
   try
     DL.DataSource := List.DataController.DataSource;
     DL.ReadOnly := True;

     Row := DL.ActiveRecord;
     try
       for I := 0 to Pred(DL.RecordCount) do
       begin
         DL.ActiveRecord := I;
         if DL.DataSet.FieldByName(IDField).Value = IDValue then
         begin
           Result := DL.DataSet.FieldByName(FieldName).Value;
           Break;
         end;
       end;
     finally
       DL.ActiveRecord := Row;
     end;
   finally
     DL.Free;
   end;


Jeer   (2011-12-05 12:57:00) [21]


> Ну а как это TDBGrid делает?


Он вообще ничего не делает, кроме отображения из датасета.


Медвежонок Пятачок   (2011-12-05 12:56:00) [22]

Ну а как это TDBGrid делает?

А он это делает?


Jeer   (2011-12-05 12:56:00) [23]

Ему открыть второй датасет религия не позволяет.


Димка На   (2011-12-05 12:54:00) [24]


> Медвежонок Пятачок ©   (05.12.11 12:53) [1]

Ну а как это TDBGrid делает?


Медвежонок Пятачок   (2011-12-05 12:53:00) [25]

если б было можно получить данные не меняя активную строку, то, я думаю, возможно было бы получить данные вообще не открывая датасета.


Страницы:   1 2

Наверх

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