Zitat von
fuknersascha:
Morgen,
nach dem ich hier super Hilfe bekommen habe mit dem "Aufbau" meiner Datenbank, habe ich mich jetzt versucht etwas in die Datenbank reinzuschreiben das folgendermaßen aussieht
Delphi-Quellcode:
procedure TForm1.btn2Click(Sender: TObject);
begin
FBLTransaction1.StartTransaction;
FBLDataset1.Open;
//FBLDataset1.Edit;
//FBLDataset1.Insert;
FBLDataset1.FieldByName('PLZ').AsInteger := 99999;
FBLDataset1.Post;
FBLTransaction1.Commit;
FBLDataset1.Close;
leider bekomme ich immer diesen Fehler "
Exception der Klasse FBLError mit der Meldung 'Empty
query' aufgetreten".
kann mir einer sagen woran das liegt? hab auch schon meinen debugger angeschmissen aber ohne erfolg.
Scheinbar hat dein FBLDataSet1 kein
SQL-Statement, welches ausgeführt werden kann.
Besser wäre es, wenn du hier nicht den Table-Ansatz verwenden würdest, sondern direkt, das passende
SQL erzeugst.
Delphi-Quellcode:
FBLDataSet1.SQL.Text := 'insert into <TABLE> (ID, PLZ) values (:ID, :PLZ)';
FBLDataSet1.Prepare;
FBLDataSet1.ParamByName('ID').AsInteger := 1;
FBLDataSet1.ParamByName('PLZ').AsString := '99999';
FBLDataSet1.ExecSQL;
Es werden hier auch gleich Parameter verwendet, die das Risiko, dass deine Anwendung per
SQL-Injektion gehackt wird, auch gleich verringern, bzw. sogar eliminieren.