AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken "MySql:CDS: Die Änderungen müssen vor der Aktualisierung

"MySql:CDS: Die Änderungen müssen vor der Aktualisierung

Ein Thema von hirsch · begonnen am 17. Jul 2008 · letzter Beitrag vom 27. Feb 2009
 
hirsch

Registriert seit: 29. Jan 2008
Ort: Tuttlingen
88 Beiträge
 
Delphi 2007 Professional
 
#1

"MySql:CDS: Die Änderungen müssen vor der Aktualisierun

  Alt 17. Jul 2008, 08:58
Datenbank: MySql • Version: 5 • Zugriff über: DBX
Liebe Spezialisten,
"CDS: Die Änderungen müssen vor der Aktualisierung der Daten übernommen werden."
Diese Fehlermeldung kommt sporadisch beim Ändern von Datensätzen.
Also, es sieht so aus, dass bei ca 100 Datensätzen eine inhaltliche Änderung in einer Schleife funktioniert. Ich kontrolliere das dann auch gleich in der Tabelle. Wenn aber der o.G. Fehler ein einziges mal erscheint, dann kann der Datensatz nicht mehr geändert werden, d.h. wenn ich dann mein kleines Proggi zu mache und wieder öffne, kommt der gleiche Fehler wieder, bei der gleichen Datensatz-ID.
Irgendwie scheint da was am Datensatz zu sein. Ich habe aber keine Ahnung wie ich genau diesen einen Datensatz so hin ändere, dass er mit der DBX wieder geändert werden kann.
Achja das gleiche tritt natürlich bei Löschungen auch auf.
100 mal gehtz, (damit meine ich oft, die Anzahl ist für mich unvorhersehbar) und wenn der Fehler einmal auftritt, kann ich genau diesen Satz nicht mehr löschen, andere jedoch schon. Verstehe ich nicht.
Der Code sieht so aus:
Delphi-Quellcode:
Procedure Tsich.DS_LM_loeschen(satz : Longword);
begin
  SQL_Str:='Select * from Pack where ID='+IntToStr(satz);
  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.Edit;
    Data.DataModule1.CDSLMPs.Delete;
    Data.DataModule1.CDSLMPs.ApplyUpdates(-1); //<-kommt manchmal hier
  end
  else showmessage ('bei '+intToStr(satz)+'stimmt was nicht! Nur '+intToStr(Data.DataModule1.CDSLMPs.RecordCount)+' Datensätze');
end;
Also ich hab keinen Plan, dsInsert, dsEdit hab ich auch schon abgefragt, und die würden soweit schon passen (was ja auch ganz oft funktioniert).
Vielen Dank für Ihre Hilfe.
Wolfgang Hirsch
  Mit Zitat antworten Zitat
 

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:33 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 by Thomas Breitkreuz