Brug en while-løkke istedet for en for-løkke....
Problemet er at RecordCount ikke virker, fordi den underliggende teknik gør
at dit dataset i virkeligheden ikke henter flere rækker end der er brug for,
i dit eksempel, så mange rækker som der er synligt i grid'et....
Gør således i stedet :
IBQuery1.SQL.Clear;
IBQuery1.SQL.Add('select * from elev where cpr = :p0')
IBQuery1.Params[0].AsString:=Edit1.Text;
IBQuery1.Open;
while not IBQuery1.EOF do
begin
Memo1.Lines.Add(IBQuery1.Fields[0].AsString);
IBQuery1.Next;
end;
Burde virke fremragende...
Bargmann
"// Overby" <danielFJERN@FJERNoverbyhansen.dk> wrote in message
news:ao6ivk$249p$1@news.cybercity.dk...
> Hejsa...
>
> Jeg er ved at udvikle en applikation og bruger InterBase som DBMS. Jeg har
> nogle data som jeg via SQL henter ind i et Delphi program og skriver ud i
et
> memo sådan her.
>
> IBQuery1.SQL.Clear;
> IBQuery1.SQL.Add('select * from elev where cpr = :p0')
> IBQuery1.Params[0].AsString:=Edit1.Text;
> IBQuery1.Open;
>
> DataSource1.DataSet.First;
> for i:= 0 to DataSource1.DataSet.RecordCount do
> begin
> Memo1.Lines.Add('DataSource1.DataSet.Fields[0].AsString');
> DataSource1.DataSet.Next;
> end;
>
> Problemet er bare, at jeg ikke får skrevet alle tuplerne ud i tabellen.
Kun
> 2 el. 3! Hvis jeg derimod Smider et DBGrid på formen og sætter dens
> DataSource til DataSource1, så får jeg alle tupler med, hvis DBGrid'en er
> stor nok. Forstået på den måde, at hvis der er plads til alle tupler i
> DBGrid uden brug af scrollbar, så bliver alle tupler også skrevet ud i
> Memo'et, men hvis jeg laver DBGrid'en mindre, så er det ikke alle der
kommer
> ud!
>
> Hvis jeg så sætter DBGrid.Visible:=FALSE så fungerer det heller ikke!?!?!
>
> Hvorfor afhænger mit DataSet af, om der er tilknyttet et DBGRid? Griber
jeg
> det forkert an?
>
> Håber der er en, der kan hjælpe en desperat sjæl.
>
> - @ -
> Daniel Overby Hansen aka mrDO
> Find me on MSN Messenger: daniel@FJERNESoverbyhansen.dk
>
www.overbyhansen.dk
>
www.vis-logen.dk - ren morskab
>
>