Thema: Delphi Transactionen

Einzelnen Beitrag anzeigen

Benutzerbild von sx2008
sx2008

Registriert seit: 15. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#2

Re: Transactionen

  Alt 24. Aug 2009, 05:03
Zitat von clock50:
Ich benutze keine Datasource, ich lade alles in listen und lasse es über Listview anzeigen.
Warum eigentlich nicht? Ist das zu einfach?
Mir fällt auserdem auf, dass du dein Datenmodul und das Formular auf sehr ungünstige Weise
vermischt.
In procedure TDM.F2Anzeige(ID : Integer) kennt das Datenmodul das Formular (das ist schlecht)
und das Fomular kennt das Datenmodul (das ist in Ordnung).
Ehrlich gesagt ist die Procedure eine einzige Katastrophe. Nicht mal das Ergebnis von Locate wird überprüft.
Wenn du z.B. TForm2.JvEdit5 einen sinnvollen Namen geben möchtest, musst du gleich an zwei Stellen ändern.

Ich schlage vor, TDatasource und TEdit Objekte zu benützen.
Dadurch wird die Kopplung zwischen Formular und Datenmodul automatisch verringert und ausserdem ist Funktionalität für die du stundenlang programmieren müsstest schon vorhanden.

Um eine neue Kundennummer zu ermitteln, brauchst du nicht alle Daten abrufen und diese dann auch noch sortieren.
Delphi-Quellcode:
function TDM.Kundeneu : integer;
begin
  Abfrage.SQL.Add('SELECT MAX(KNR)+1 FROM KUNDEN');
  Abfrage.Open;
  result := Abfrage.Fields[0].AsInteger;
  Abfrage.Close;
end;
Ansonsten würde ich keinerlei Transactions benützen, sondern alles so einfach wie möglich halten.
Transactions werden erst dann wichtig, wenn z.B. mehrere Arbeitsstationen auf die gleichen Daten zugreifen oder Änderungen an mehreren Tabellen ganz oder gar nicht vorgenommen werden müssen.
fork me on Github
  Mit Zitat antworten Zitat