![]() |
DBGrid - DataSource - ADODataSet - Access. Daten auslesen
Hallo,
habe DBGrid über DataSource und ADODataSet mit einer Access Datenbank verbunden. Finde aber keine Möglichkeit die Daten auszulesen, in Basic ging das mit (Data1.Recordset.Fields(1)) problemlos. Mit Recordset in Delphi komm ich nicht weiter, und mit:
Delphi-Quellcode:
bekomme ich eine Ausgabe, aber nach:
ADODataSet1.Recordset.MoveFirst;
Label1.Caption := ADODataSet1.Fields[1].Text;
Delphi-Quellcode:
kommt nichts. Was mach ich falsch?
ADODataSet1.Recordset.MoveNext;
Label1.Caption := ADODataSet1.Fields[1].Text; Gruß Sigi |
Re: DBGrid - DataSource - ADODataSet - Access. Daten auslese
Hi,
die korrekte Vorgehensweise in Delphi lautet: T(Ado)dataset.first T(Ado)dataset.next. Unter Umständen kann es sinnvoll sein, TBetterAdodataset statt TAdodataset zu verwenden, nicht weil das Basickompatibler ist als Tadodatasset, sondern weil es einige unschöne Bugs fixt. Grüsse Woki |
Re: DBGrid - DataSource - ADODataSet - Access. Daten auslese
Hallo Woki.
Danke für die Antwort, aber mit:
Delphi-Quellcode:
kommt die Fehlermeldung: Diese Form des Methodenaufrufs ist nur für Klassenmethoden erlaubt.
TAdodataset.first;
TAdodataset.next.; Mit:
Delphi-Quellcode:
Kommt keine Meldung, und geht scheinbar bis zum letzten Datensatz, da EOF erreicht wird. Aber der Zeiger im DBGrid bleibt auf dem ersten Datensatz stehen, und ich kann auch nur diesen auslesen. Bin schon am verzweifeln.
if not ADODataSet1.Recordset.EOF = True then
ADODataSet1.Recordset.MoveNext else beep; TBetterAdodataset finde ich nirgendwo. Muss noch erwähnen, dass ich Anfänger bin. Gruß Sigi |
Re: DBGrid - DataSource - ADODataSet - Access. Daten auslese
Zitat:
TAdodataset.first meinte ich verwende die methode first der Klasse TAdodataset, aber da es keine Klassenmethode ist, mußt Du sie auf die Instanz der Klassen anwenden, die du gerade meinst. also z.B. Adodataset1 :TAdodataset dann Adodataset1.first, anders ausgedrückt, der Compiler muß ja wissen, welches DAtaset du gerade scrollen willst. Zitat:
Zitat:
Grüsse Woki |
Re: DBGrid - DataSource - ADODataSet - Access. Daten auslese
Hallo Woki,
DANKE für die Hilfe, soweit klappt es. Habe da aber noch ein Problem. Ich möchte während der Dateneingabe im DBGrid je nach Spalte diese auf Logik überprüfen. Mit:
Delphi-Quellcode:
wird nur den Inhalt der Datenbank angezeigt, nicht die augenblickliche Eingabe. Kannst Du mir einen Tipp geben wie das geht und eine eventuelle Falscheingabe gelöscht werden kann?
procedure TForm1.DBGrid1KeyPress(Sender: TObject; var Key: Char);
Label1.Caption := DBGrid1.Fields[0].Text; Gruß Sigi |
Re: DBGrid - DataSource - ADODataSet - Access. Daten auslese
Schau Dir mal die Events der Feldkomponenten an, das sollte dir weiterhelfen.
Ach so, und eigentlich: neue Frage neuer Thread. Grüsse Woki |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:23 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz