Thema: Delphi MyBase: Datenlöschen

Einzelnen Beitrag anzeigen

Kralle

Registriert seit: 31. Okt 2004
Ort: Bremerhaven
355 Beiträge
 
Delphi XE7 Professional
 
#1

MyBase: Datenlöschen

  Alt 18. Aug 2014, 10:42
Datenbank: MyBase • Version: x • Zugriff über: x
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
OS: Windows 10 Professional, Delphi XE7 Pro SP1 +(Mobilpack & FireDAC)

Geändert von Kralle (18. Aug 2014 um 11:51 Uhr) Grund: Problem gelöst
  Mit Zitat antworten Zitat