Delphi-Quellcode:
procedure Tform2.btnhinzClick(Sender: TObject);
var titel1,titel2, autor, onr:
string;
var query: ANSIString;
begin
Query1.Close;
Query1.SQL.Clear;
titel1:= edtitel1.Text;
titel2:= edtitel2.Text;
autor:= edkomponist.Text;
onr := edonr.Text;
query := '
INSERT INTO noten (titel1,titel2, autor, oid)' +
'
VALUES (' +#39+ titel1 +#39+ '
, ' + #39+autor +#39+'
,' + #39+onr + #39+'
);';
Query1.SQL.Add(
query);
Query1.Open;
//--> Es soll eigentlich doch ein Statement ausgeführt werden und nicht eine Datenmenge geöffnet
Query1.Active := true;
// das ist eine Doppelung zur vorherigen Zeile
end;
Ohne jetzt näher auf Deinen Code einzugehen, sei angemerkt, dass Du ja eigentlich ein
SQL ausführen willst. -->
Query1.ExecSQL
Das verwendete
Query1.Open;
ist dazu nicht verwendbar.
Das
Query1.Active := true;
ist eine Doppelung und somit obsolet.