Einzelnen Beitrag anzeigen

Benutzerbild von Mackhack
Mackhack

Registriert seit: 29. Nov 2003
Ort: San Diego, CA/USA
1.446 Beiträge
 
Delphi 2006 Architect
 
#1

INSERT INTO parameterisiert funktioniert nicht

  Alt 21. Aug 2009, 03:31
Datenbank: FB • Version: 2.1 • Zugriff über: IB
Hallo DPler,

weis jemand warum dieser Code mir 2 Probleme bereitet?

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  IBDatabase1.Connected := true;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  IBQuery1.Transaction.StartTransaction;
  try
    IBQuery1.SQL.Text := 'SELECT * FROM Test';
    IBQuery1.Open;

    while not IBQuery1.Eof do
    begin
      ListBox1.Items.Add(IBQuery1.Fields[0].AsString);
      IBQuery1.Next;
    end;

    IBQuery1.Close;

  finally
    IBQuery1.Transaction.Rollback;
  end;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
  IBQuery1.Active := False;
  IBQuery1.SQL.Text := 'INSERT INTO Test(acol, bcol) VALUES(:acol, :bcol)';
  IBQuery1.ParamByName('acol').AsInteger := 70001;
  IBQuery1.ParamByName('bcol').AsString := 'Tabby';
  ShowMessage(IBQuery1.SQL.Text);
  IBQuery1.ExecSQL;
  IBQuery1.Active := True;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  IBDatabase1.Connected := false;
end;
Als erstes Funktioniert das Einfuegen in die DB nicht und zum zweiten wenn ich auf Button2 klicke bekomme ich den Fehler "Transaction is active" und weis nicht wirklich was damit anzufangen.

Vlt. kann mir jemand helfen mit dem Beispielcode umzugehen?

Danke!
Um etwas Neues zu schaffen muss man seine Ohren vor den Nein-sagern verschliessen um seinen Geist öffnen zu können.
(George Lukas)
  Mit Zitat antworten Zitat