Einzelnen Beitrag anzeigen

Ralf Stehle

Registriert seit: 8. Aug 2003
124 Beiträge
 
Delphi 7 Professional
 
#3

Re: Firebird/Interbase: TIBDataSet: kann keine Daten einfüge

  Alt 15. Okt 2004, 21:49
Ich habe folgendes ausprobiert und bin langsam entnervt, dass es einfach nicht klappt:
Delphi-Quellcode:
DM.IBDataSet1.Close;
DM.IBDataSet1.InsertSQL.Text := 'Select * from UDAT';
DM.IBDataSet1.Open;
DM.IBDataSet1.Edit;
DM.IBTransaction.Active := True;
DbEdit1.Text := '15.10.2004'; DbEdit2.Text := 'Stehle, Ralf';
DM.IBDataSet1.FieldByName('ID').AsInteger := GetNextNumber;
DM.IBTransaction.Commit;
DM.IBDataSet1.Post;
GetNextNumber holt sich für das AutoIncrement-Feld aus folgender Funktion die Zahl
Delphi-Quellcode:
function GetNextNumber: integer;
begin
 DM.IBQuery1.Active := False;
 DM.IBQuery1.SQL.Text := 'Select Gen_ID(GEN_UDAT, 1) AS ID from rdb$database';
 DM.IBQuery1.Active := true;

 if DM.IBQuery1.RecordCount >= 0 then
  result := DM.IBQuery1.FieldByName('ID').AsInteger + 1
 else result := 1;
end;
Es sieht zunächst alles so schön aus, aber sobald das Post kommt sind die Daten wieder weg !!! Auch wenn ich statt 'Select * from UDAT' eine Insert-Anweisung schreibe, kommt es auf das gleiche heraus. Ich habe eine Select-Anweisung gewählt, da ich ja noch nicht weiß, welche Werte eingefügt werden sollen. Die Werte möchte ich ja in den DBEdit-Feldern editieren
Ralf Stehle
ralfstehle@yahoo.de
  Mit Zitat antworten Zitat