Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Adodataset1 auslesen (https://www.delphipraxis.net/78873-adodataset1-auslesen.html)

gordenfreeman2 12. Okt 2006 13:12

Datenbank: Mysql • Zugriff über: ADO

Adodataset1 auslesen
 
Hallo Leute,

habe folgendes Problem. Ich möchte über AdoDataset das Ergebnis auslesen. Meine vorherigen LÖsungen waren immer sehr kompliziert. Jetzt habe ich folgendes Probiert:

Delphi-Quellcode:
  while (ADODataSet1.Recordset.EOF = True) do
  begin
    adodataset1.CommandText := 'select id from test';
    adodataset1.active:= true;
    ADODataSet1.Recordset.MoveNext;
    showmessage(adodataset1.FieldValues['id']);
  end;
doch wenn ich den Code ausführe bekomme ich eine Zugriffsverletzung. Was mach ich falsch?

Vorher habe ich immer die Anzahl der DS ausgelsen und dann in einer For Schleife den select ausgeführt und die Daten rausgeschrieben, doch wie gesagt das ist immer sehr umständlich und ich würde gerne eine einfacherer Lösung nehmne.

Bitte um kurze Hilfe.

Danke.

gordenfreeman2 12. Okt 2006 13:23

Re: Adodataset1 auslesen
 
Soweit habe ich es ja schon geschaft das er mir ausliest, nur springt er nicht zum nächsten DS, Obwohl ich moveNext aufrufe.

Delphi-Quellcode:
  adodataset1.CommandText := 'select id from termin';
  adodataset1.active:= true;
  while (ADODataSet1.Recordset.EOF = false) do
  begin
    ADODataSet1.Recordset.MoveNext;
    showmessage(adodataset1.FieldValues['id']);
  end;
Bitte nochmals um kurze HIlfe danke.

Gollum 12. Okt 2006 13:23

Re: Adodataset1 auslesen
 
Hallo,

folgendermaßen sollte es funktionieren:
Delphi-Quellcode:
with AdoDataset do
begin
  Close();
  CommandText:='SELECT id FROM test';
  Open();
  if (RecordCount>1) then
  begin
    while not Eof do
    begin
      ShowMessage(FieldByName('ID').AsString);
      Next;
    end; // while
  end else ShowMessage('Nur ein Datensatz');
end; // with AdoDataset

gordenfreeman2 12. Okt 2006 13:30

Re: Adodataset1 auslesen
 
Danke für die Lösung, habe jeztt aber solange herumprobiert bis ich auf die untere Lösung gekommen bin.

Mein Fehler war eben das ivh movenext genommen habe und nicht next

Delphi-Quellcode:
  adodataset1.CommandText := 'select id from termin';
  adodataset1.active:= true;
  while (ADODataSet1.Recordset.EOF = false) do
  begin
    showmessage(adodataset1.FieldValues['id']);
    ADODataSet1.Next;
  end;
Danke nochmals für die schnell Hilfe.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:58 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz