Thema: Delphi Firebird in Netzwerk

Einzelnen Beitrag anzeigen

NickelM

Registriert seit: 22. Jul 2007
Ort: Carlsberg
445 Beiträge
 
Delphi 2009 Professional
 
#54

Re: Firebird in Netzwerk

  Alt 21. Aug 2009, 01:09
Also ich greife mit IB Komponenten auch auf Firebird zu und bei Funkt alles Perfekt (Edit,Insert,Delete, usw)
Ich mache es folgendermassen:
Für jede Tabelle : TIBTable,TIBTransaction,TIDStoredProc (bei abfragen noch TIBQuery)
Die Datenbank hab ich mit dem EMS SGL Manager erstellt
Da ich zufaul bin hab ich mir zum Hinzufügen,Editieren eigene Procedure geschrieben:
Delphi-Quellcode:
//Neu
procedure Neu_Datensatz(Table : TIBTable);
begin
Table.Edit;
Table.Append;
Table.Edit;
end;
//Speichern
procedure Speichern_Datensatz(Table : TIBTable; Trans : TIBTransaction);
var Rec : Integer;
begin
Rec := Table.RecNo; //Datensatz merken
Table.Edit;
Table.Post;
IBDatabase1.ApplyUpdates([Table]);
Trans.Commit;
Trans.StartTransaction;
Table.Open; //Datensatzpos wird zurückgesetzt
Table.RecNo := Rec; //Wieder Datensatz auswählen
end;
//Löschen
procedure Loschen_Datensatz(Table : TIBTable; Trans : TIBTransaction);
begin
Table.Edit;
Table.delete;
Datenbank.IBDatabase1.ApplyUpdates([Table]);
Trans.Commit;
Trans.StartTransaction;
Table.Open;
end;
//Habe in der Firebird-Datenbank eine Stored Procedure drinnen, die im EMS SQL Manager für jede ID erstellt wird, so aktiviere ich sie
//ID Setzen
//Bei TIDTable bei BeforPost rein
procedure Set_ID(Table : TIBTable; Getter : TIBStoredProc);
begin
if (Table.State = dsInsert) then
begin
  Getter.ExecProc;
  Table.FindField('ID').AsInteger :=
  Getter.ParamByName('ID').AsInteger;
end;

end;
So.....so habe ich es hinbekommen, bei mir Funkts.
Hab auch Serverversion und übers Netzwerk gehts auch.

Gruß NickelM
Nickel
"Lebe und denke nicht an morgen"
Zitat aus dem gleichnamigen Bollywoodfilm.
  Mit Zitat antworten Zitat