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