Hallo Tobias,
Zitat von
xSkaschY:
Das Objekt MySQLQuery ist schon verfügbar, da ich ein Paar Zeilen vorher schon ein
Query ausführe.
das Objekt existiert, aber deine Beweisführung hinkt. Durch deinen unmotivierten Resourcen-Schutzblock würde der finally-Zweig durchlaufen, wenn das Objekt nicht existieren würde, aber vor dem try machst du schon einen Zugriff, der allem Anschein nach funktioniert.
Warum ermittelst du alle Feldnamen? In deinem Fall wäre ein SELECT * durchaus angemessen:
Delphi-Quellcode:
procedure TformAuftragsedit.FrameResize(Sender: TObject);
var
relevantfields: String;
begin
mysql_connect();
value_auftragsnummer.Caption := main.AuftragsNr;
if MySQLConnection.Connected then
begin
MySQLQuery.SQLConnection := MySQLConnection;
// Ermittelt alle Auftragsdaten
statement := Format('SELECT * FROM %s WHERE auftragsnr = :nr', [main.TabellenName]);
MySQLQuery.SQL.Text := statement;
MySQLQuery.Parameters.ParamByName('nr').AsString := main.AuftragsNr; // oder Params?
MySQLQuery.Open;
formLog.SQLAbfragen.Lines.Add('TformAuftragsedit.FrameResize (Line: 100):');
formLog.SQLAbfragen.Lines.Add(statement);
formLog.SQLAbfragen.Lines.Add('');
value_montuer.Text := MySQLQuery.FieldByName('montuer').AsString; // Monteur ...
// ...
MySQLQuery.Close;
end;
end;
Steht der Code im Ereignis OnResize() auch wirklich an der richtigen Stelle?
Grüße vom marabu