Autor Beitrag
hirsch
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 31



BeitragVerfasst: Mi 23.07.08 17:02 
Liebes Forum,
mein Delete-Befehl meint immer, der Datensatz sei von anderem Benutzer geändert, oder nicht vorhanden. Bin hier auf der localmachine, und da hab nur ich eine Verbindung. Zur erklärung: SDS=TSQLDataset, CDS=TClientDataset
Hab hier mal den code:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
Procedure TLMobilesicherung.DS_LM_loeschen(satz     : Longword);
begin
  SQL_Str:='Select * from Packingstructure where ID='+IntToStr(satz);
  Data.DataModule1.SDSLMPs.Refresh;
  Data.DataModule1.CDSLMPs.Refresh;
  Data.DataModule1.CDSLMPs.Active:=False;
  Data.DataModule1.SDSLMPs.Active:=False;
  Data.DataModule1.SDSLMPs.CommandText:=sql_str;
  Data.DataModule1.SDSLMPs.Active:=True;
  Data.DataModule1.CDSLMPs.Active:=True;
  if Data.DataModule1.CDSLMPs.RecordCount=1 then
  begin
    Data.DataModule1.CDSLMPS.Active:=False;
    Data.DataModule1.SDSLMPS.Active:=False;
    Data.DataModule1.SDSLMPS.CommandText:=SQL_Str;
    Data.DataModule1.SDSLMPS.Active:=True;
    Data.DataModule1.CDSLMPS.Active:=True;
    Data.DataModule1.CDSLMPS.Delete;
    Data.DataModule1.CDSLMPS.ApplyUpdates(-1);
  end
  else showmessage ('bei '+intToStr(satz)+'stimmt was nicht! Nur '+intToStr(Data.DataModule1.CDSLMPs.RecordCount)+' Datensätze');
end;

Dann hab ich probiert, um zu sehen, ob der Datensatz noch da ist:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
procedure TDataModule1.CDSLMPSAfterScroll(DataSet: TDataSet);
begin
  if Data.DataModule1.CDSLMPS.UpdateStatus=usModified then
     Data.DataModule1.CDSLMPS.RefreshRecord;

end;

und dann anschliessend noch
ausblenden Delphi-Quelltext
1:
2:
3:
4:
procedure TDataModule1.CDSLMPSBeforeScroll(DataSet: TDataSet);
begin
     showmessage(Data.DataModule1.CDSLMPS.fieldbyname('ID').asstring);
end;

damit ich das angezeigt bekomme.
Ich bekomme immer den Datensatz angezeigt, den ich auch löschen will.

Ich verstehe das nicht, wo mache ich den Denkfehler?

Moderiert von user profile iconNarses: Delphi-Tags hinzugefügt
hirsch Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 31



BeitragVerfasst: Do 24.07.08 15:47 
Titel: Ohje
Ich denke es gibt zwei Möglichkeiten, weil ich noch nix bekommen hab.

Erste: Das Thema ist garkein Thema, keiner gibt sich damit ab, mir ne Lösung zu geben, weil es zu einfach ist.
Zweite: Es weiß niemand eine Lösung.

Ohje....
ene
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 779
Erhaltene Danke: 1

Vista, XP, W2K
Delphi, .Net, Deutsch und Englisch
BeitragVerfasst: Do 24.07.08 16:12 
Hi,

ich keine Erfahrungen mit MySQL und Delphi, aber warum machst du nicht einfach ein 'DELETE FROM Packingstructure WHERE ID='+IntToStr(satz)?

_________________
Wir, die guten Willens sind, geführt von Ahnungslosen, Versuchen für die Undankbaren das Unmögliche zu vollbringen.
Wir haben soviel mit so wenig so lange versucht, daß wir jetzt qualifiziert sind, fast alles mit Nichts zu bewerkstelligen.
hirsch Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 31



BeitragVerfasst: Di 02.09.08 11:56 
Titel: Und schon gehts
hallo ene

vielen dank nun funktioniert es zuverlässig.