SQLQuery zur Laufzeit ausführen

Für Themen zu Datenbanken und Zugriff auf diese. Auch für Datenbankkomponenten.
Antworten
Lion
Beiträge: 197
Registriert: Mo 24. Mär 2014, 09:58

SQLQuery zur Laufzeit ausführen

Beitrag von Lion »

Hallo Leute,
ich habe folgende Frage. Ich habe auf die Form1 folgende Komponente gezogen und miteinander im Objektinspektor verbunden: ODBCConnection1, SQLTransaction1, SQLQuery1, DataSource1 und DBGrid1. Das SQL-Statement wurde in den SQL-Eigenschaften von SQLQuery1 platziert, und alles läuft wie es soll.

Jetzt aber das Problem. Ich möchte zur Laufzeit mittels eines Buttons eine neue SQL-Abfrage absetzen, aber es kommt zum folgenden Fehler, siehe Screenshot. Wer weiß woran es liegt, was mache ich falsch?

Code: Alles auswählen

procedure TForm1.Button3Click(Sender: TObject);
begin
  SQLQuery1.Close;
  SQLQuery1.Clear;
  SQLQuery1.SQL.Text := 'select personal from personal';
  SQLQuery1.Open;
  SQLQuery1.ExecSQL;
  SQLTransaction1.Commit;
end;  
Dateianhänge
Error.PNG
Error.PNG (15.86 KiB) 1875 mal betrachtet

MmVisual
Beiträge: 1579
Registriert: Fr 10. Okt 2008, 23:54
OS, Lazarus, FPC: Winuxarm (L 4 FPC 3.2.2)
CPU-Target: 32/64Bit

Re: SQLQuery zur Laufzeit ausführen

Beitrag von MmVisual »

Diese 2 Zeilen braucht es für ein Select nicht:

Code: Alles auswählen

SQLQuery1.ExecSQL;
SQLTransaction1.Commit;
EleLa - Elektronik Lagerverwaltung - www.elela.de

Benutzeravatar
gladio
Beiträge: 223
Registriert: Sa 21. Jun 2014, 06:15
OS, Lazarus, FPC: Win10-64 - aktuelle Lazarus/FPC Standard-Edition
CPU-Target: 64Bit
Wohnort: Rügen

Re: SQLQuery zur Laufzeit ausführen

Beitrag von gladio »

Die SQL-Anweisung sieht mir schon suspekt aus:
Gibt es in der Tabelle "Personal" ein Datenfeld "Personal" ?

Query.ExecSQL löste nach eine Select-Anweisung nicht so einen Fehler aus, würde geflissentlich einfach ignoriert.

Lion
Beiträge: 197
Registriert: Mo 24. Mär 2014, 09:58

Re: SQLQuery zur Laufzeit ausführen

Beitrag von Lion »

Danke, es läuft!

Antworten