Die aufgabe der Connection
Unit besteht darin:
wie du schon richtig sagtest: die Verbindung herzustellen.
Nur außerdem Erstellt sie die Queries und die Transaktionen und feuert die
SQL's ab für verschiedene Situationen, DatenSpeichern, Laden,Löschen,bearbeiten.
Sie übernimmt die Funktion der Logik zwischen Datenbank und Oberfläche also alles was von der
DB an die Oberfläche geht geht aus der Connection
als beispiel hier zb:
Code:
procedure TDataconnect.LegeSendungAn(ASendung: TSendung);
var
neuerSeQuery: TIBOQuery;
neuerSeTransa:TIBOTransaction;
begin
neuerSeQuery:= TIBOQuery.Create(nil);
neuerSeTransa:= TIBOTransaction.Create(nil);
neuerSeTransa.IB_Connection:=neuerseQuery.IB_Connection ;
try
neuerSeQuery.IB_Connection:= FDataBase;
neuerSeTransa.IB_Connection:= FDatabase;
try
neuerSeQuery.SQL.Text:= 'INSERT INTO Sendungsverfolgung (Status,Rechnung) Values ('+QuotedStr(ASendung.Status)+','+QuotedStr(ASendung.Rechnung)+') returning Sendungsverfolgung_ID';
neuerSeQuery.ExecSQL;
neuerSETransa.Commit;
Except
on E :
Exception do
begin
ShowMessage('FEHLER IN LEGE Sendung AN');
neuerSeTransa.Rollback;
end;
end;
Finally
neuerSeQuery.Free;
neuerSeTransa.Free;
end;
end;
und auf die funktion greift die oberfläche zu und zwar hier:::::::::::::
*SIEHE SENDUNG*
Code:
procedure TStartseite.Hinzufgen1Click(Sender: TObject);
var
Kunde: TKunde;
Buch: TBuch;
Sendung: TSendung;
Autor: TAutor;
begin
Dateneditieren.StrGrAuswahl.Cells[0,0]:='';
Dateneditieren.StrGrAuswahl.Cells[1,0]:='';
if IsPositiveResult(Dateneditieren.ShowModal()) then
begin
case (rgAuswahl.ItemIndex) of
0 : begin
Kunde :=TKunde.create (0,Dateneditieren.StrGrAuswahl.Cells[0,0],Dateneditieren.strgrauswahl.cells[1,0]);
connect.LegeKundeAn(Kunde);
addKundetoLV(Kunde);
end;
1 : begin
Sendung:= TSendung.Create(0,Dateneditieren.StrGrAuswahl.Cells[0,0],Dateneditieren.strgrauswahl.cells[1,0]);
connect.LegeSendungAn(Sendung);
addSendungetoLV(Sendung);
end;
2 : begin
Autor:= TAutor.Create(0,dateneditieren.StrGrAuswahl.Cells[0,0],Dateneditieren.strgrauswahl.cells[1,0]);
connect.LegeAutorAn(Autor);
addAutortoLV(Autor);
end;
3 : begin
Buch:= TBuch.Create(0,StrToInt(Dateneditieren.StrGrAuswahl.Cells[0,0]),Dateneditieren.StrGrAuswahl.Cells[1,0]);
connect.LegeBuchAn(Buch);
addBuchtoLV(Buch);
end;
else
begin
ShowMessage('Ups, beim Anlegen des Kunden lief etwas schief');
end;
end;
end;
end;