![]() |
SQL wird ausgeführt, aber nicht angezeigt?
Wenn ich das ein Statement wie "SELECT * from Adressen" aufrufe, macht der das zwar, aber der akualisiert das DBGrid nicht. Das Grid ist mit TradeDS verbunden
Delphi-Quellcode:
procedure TForm1.Button5Click(Sender: TObject);
var i:integer; begin if TradeSQL.Lines.Count > 0 then begin TradeQuery.SQL.Clear; for i := 0 to TradeSQL.Lines.Count - 1 do begin TradeQuery.SQL.Add(TradeSQL.Lines[i]); end; try TradeQuery.ExecSQL; TradeDS.DataSet := TradeQuery; DBGrid2.Repaint; except on e:exception do ShowMessage('Statement konnte nicht ausgeführt werden'#10#13'Fehler: ' + e.Message); end; end; end; |
Re: SQL wird ausgeführt, aber nicht angezeigt?
Was ist denn TradeQuery für eine Klasse?
Bei einem TQuery: Ein abhängen der Grid von der Source und hinterher wieder anhängen könnte Abhilfe schaffen. Oder die Source von der Datenquelle ab- und wieder anhängen? Eines von beidem. Liegt daran, daß die Delphi-DB-Kompos ein wenig Buggy sind... |
Re: SQL wird ausgeführt, aber nicht angezeigt?
Das ist eine TADOQuery
So gehts nicht:
Delphi-Quellcode:
Und so auch nicht:
TradeDS.DataSet := nil;
TradeDS.DataSet := TradeQuery;
Delphi-Quellcode:
DBGrid2.DataSource := nil;
DBGrid2.DataSource := TradeDS; |
Re: SQL wird ausgeführt, aber nicht angezeigt?
Ausserdem gibt ExecSQL IMO keine Ergnisse zurück!
Diese Funktion ist also nicht für SELECT Anweisungen geeignet! |
Re: SQL wird ausgeführt, aber nicht angezeigt?
Hallo General2003,
da hat Sharky absolut recht, um ein SELECT Statement auszuführen musst du myQuery.Open anstatt myQuery.ExecSQL aufrufen. ExecSQL ist für INSERTs, DELETEs oder UPDATEs. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:55 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz