Entwickler-Ecke
Datenbanken - MYSQL, Delete-Befehl ärgert mich
hirsch - Mi 23.07.08 17:02
Titel: MYSQL, Delete-Befehl ärgert mich
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:
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:
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
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
Narses: Delphi-Tags hinzugefügt
hirsch - 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 - 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)?
hirsch - Di 02.09.08 11:56
Titel: Und schon gehts
hallo ene
vielen dank nun funktioniert es zuverlässig.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!