Subject | RE: [IBO] IB_Transaction.Datasets[i] and TIBOQuery |
---|---|
Author | Alan McDonald |
Post date | 2007-10-17T10:23:58Z |
> At 08:03 PM 17/10/2007, you wrote:ok thanks
> >If I add a TIBOQuery to a form and set it's IB_Transaction, I see the
> >_DatasetCount of the IB_Transaction component increment by 3.
> (internal sets
> >as well as the query itself).
> >So if I do this:
> >
> >IB_Transaction1.StartTransaction;
> >for i:=0 to IB_Transaction1.DatasetCount-1 do begin
> > with IB_Transaction1.Datasets[i] do begin
> > if (IB_Transaction1.Datasets[i].Name<>'') then begin
> > Open;
> > end;
> > end;
> >end;
> >
> >I was expecting the TIBIOQueries on the form to open as do the
> TIB_Queries.
> >But they don't.
> >
> >Can anyone tell me why the dataset count includes them but access to the
> >desendent TIBOQuery itself is not possible with this method?
>
> The Datasets property of TIB_Transaction is an array of
> TIB_Dataset. TIBOQuery is not a TIB_Dataset descendent, so your loop
> won't touch it (though it does touch its InternalDataset, which *is*
> a TIB_Dataset). To reach the TDataset-descendent DAOs you'll need to
> go through the Components array of the container object, testing for
> Components[i]=TIBOQuery and operating on TIBOQuery(Components[i]).
>
> Helen
Alan