Moin,
entweder sehe ich den Wald vor lauter Bäumen nicht oder bin total auf dem Holzweg.
Gebene ist folgender Code:
Code:
begin
BtDatensatzLoeschen.Caption:=IntToStr(ClientDataSet1.RecordCount); // Anzahl der Einträge in der Datenbank
for I := 1 to ClientDataSet1.RecordCount do
Begin
If ClientDataSet1.Locate('Codenummer',lbledt1.text,[]) then // Datensatz finden
begin
ClientDataSet1.edit; // Datenbank zum Bearbeiten öffnen
ClientDataSet1.delete; // Datensatz löschen
ClientDataSet1.Post; // Datenbank aktualisieren
end;
End;
end;
procedure TForm1.BtStatusAendernClick(Sender: TObject);
begin
If ClientDataSet1.Locate('ID','3',[]) then // Datensatz finden
if ClientDataSet1['Status'] ='0' then
begin
ClientDataSet1.edit; // Datenbank zum Bearbeiten öffnen
ClientDataSet1['Status']:='1'; // Inhalt ändern
ClientDataSet1.Post; // Datenbank aktualisieren
end
else
begin
ClientDataSet1.edit; // Datenbank zum Bearbeiten öffnen
ClientDataSet1['Status']:='0'; // Inhalt ändern
ClientDataSet1.Post; // Datenbank aktualisieren
end;
end;
Der untere Teil funktioniert wie gewünscht, aber der obere Teil führt zur folgenden Fehlermeldung:
Zitat:
Erste Gelegenheit für
Exception bei $00007FFA23B25BF8.
Exception-Klasse EDatabaseError mit Meldung 'ClientDataSet1: Datenmenge weder im Editier- noch im Einfügemodus'. Prozess mybase_test.exe (404)
Aber, ich habe doch ein
Code:
ClientDataSet1.edit; // Datenbank zum Bearbeiten öffnen
im Code.
Was mache ich falsch??
Gruß Heiko