Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Kein update bei DBEdit.next (https://www.delphipraxis.net/16974-kein-update-bei-dbedit-next.html)

rbest 26. Feb 2004 14:44


Kein update bei DBEdit.next
 
Hallo allerseits,
im Herbst habe ich als Newbie mit einem neuen Projekt angefangen und alles mit DBEdit programmiert. Was mir nicht gefällt ist, daß z.B. bei first oder next die Daten geschrieben werden. Kann man das abschalten oder kann ich nur mit den "normalen" Komponenten (z.B. TEdit) die Daten sammeln und zu einem späteren Zeitpunkt wegschreiben?

Besten Dank für die Hilfe.

kiar 26. Feb 2004 16:43

Re: Kein update bei DBEdit.next
 
hallo,

ersmal sollten wir klären, in welcher umgebung du dies tust? und dann ist die frage wie willst du die daten zwischenspeichern?

wenn du dann ein wenig source beigibst, wird dir auch bestimmt jemand helfen.

raik

rbest 27. Feb 2004 06:38

Re: Kein update bei DBEdit.next
 
hi Raik,
meinst du mit Umgebung die DB? Wir arbeiten mit MS SQL Server und ADO-Anbindung. Zur Entwicklungszeit verwende ich eine ADO-Connection, die zur Laufzeit gegen ADO-Direkt ersetzt wird.

Alle relevanten Datasets sind deaktiv, erst nach Betätigung eines Edit-Buttons werden die Kopf- und Detail-Datasets auf .Edit umgestellt. Beim Kopfsatz gibt es kein Problem. Nur bei den Detaill-Sätzen, weil gewisse Funktionen (First, Next, ...) offensichtlich die Datenmenge wegschreiben. Deine Frage "wie willst du zwischenspeichern?" ist also nicht deine, sondern meine Frage 8) . Gibt es einen Schalter oder irgendwas, das das update erst ausführt, wenn ICH es will?

roland

Sharky 27. Feb 2004 07:08

Re: Kein update bei DBEdit.next
 
Hai rbest,

Du könntest im BevorScroll Ereigniss deines DataSets das Speichern abbrechen.

Delphi-Quellcode:
procedure TForm1.ADOQuery1BeforeScroll(DataSet: TDataSet);
begin
  if ADOQuery1.State in [dsEdit] then
  begin
    if MessageDlg('Änderungen speichnern?', mtConfirmation, [mbYes,mbNo], 0) = mrNo then
    begin
      ADOQuery1.Cancel;
    end;
  end;
end;

rbest 27. Feb 2004 07:21

Re: Kein update bei DBEdit.next
 
Hai Hai, :P
also gips keinen Schalter, aber du bringst mich auf eine :idea: . Meinst du das ginge, dass ich ein Flag setze und in besagtem BevorScroll abfange? Ist aber hoffentlich nicht so, dass das .Cancel den Abbruch der gewollten Aktivität (z.B. next) bewirkt. Mal sehen, ob man aus der Hilfe auch noch was rausquetschen kann.

roland


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:58 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz