![]() |
CommandText gibt keine Ergebnismenge zurück
Wenn ich das "INSERT"-Statement
Delphi-Quellcode:
in die ADOQuery einfüge und dann die Zeile:
INSERT INTO Tabelle1(Feld1, Feld2, Feld3) VALUES ('Inhalt1', 'Inhalt2', 'Inhalt3')
Delphi-Quellcode:
ausführe, dann krieg ich folgende Meldung:
ADOQuery.open
Delphi-Quellcode:
Woran liegt das?
ADOQuery1: CommandText gibt keine Ergebnismenge zurück
|
Re: CommandText gibt keine Ergebnismenge zurück
Hallo,
open kannst Du nur in Verbindung mit "Select" verwenden. Bei DML-Anweisungen musst Du ExecSQL benutzen. |
Re: CommandText gibt keine Ergebnismenge zurück
Danke für die Hilfe. Noch ne kleine Frage: Warum wird das DBGrid nicht aktualisiert wenn ich das Statement ausführe? Ist mit der gleichen DS verbunden wie das DBGrid
|
Re: CommandText gibt keine Ergebnismenge zurück
Weil Du da nur eine "Momentaufnahme" zur Zeit des vorherigen SELECT-Statements siehst!
|
Re: CommandText gibt keine Ergebnismenge zurück
Hallo,
wie ist das DBGrid mit der Datenquelle verbunden? Mit einer Table oder Query? Ggf. reicht der Aufruf von Refresh. |
Re: CommandText gibt keine Ergebnismenge zurück
DBGrid.DataSource = DataSource1
DataSource1.DataSet = ADOTable1 ADOTable1.Connection = ADOConnection1 ADOQuery1.Connection = ADOConnection1 ADOQuery1.DataSource = DataSource1 |
Re: CommandText gibt keine Ergebnismenge zurück
Hallo,
dann rufst Du nachdem Du die Daten mit INSERT eingefügt hast ADOTable1.Refresh; auf. |
Re: CommandText gibt keine Ergebnismenge zurück
Delphi-Quellcode:
Macht der nicht :-(
procedure TForm1.Button1Click(Sender: TObject);
begin Memo1.Lines.Clear; Memo1.Lines.Add(SQLDispatcher1.CreateSQL); ADOQuery1.SQL.Text := SQLDispatcher1.CreateSQL; try ADOQuery1.ExecSQL; ADOTable1.Refresh; except on e : exception do begin Memo1.Lines.Add(e.Message); end; end; end; Habs so gelöst:
Delphi-Quellcode:
Nicht sehr gut, oder?
ADOTable1.Active := false;
ADOTable1.Active := true; |
Re: CommandText gibt keine Ergebnismenge zurück
Hallo,
evtl. könnte es mit DBGrid.DataSource.DataSet.Refresh; funktionieren. Leider bin ich Dir da keine große Hilfe, da ich seit Jahren solche Konstrukte nicht mehr verwende. |
Re: CommandText gibt keine Ergebnismenge zurück
Das ist ein Bug in der ADO-Komponente. Entweder, du schliesst die Session und machst sie wieder auf (close und open), oder Du nimmst lieber das TBetterADODataSet anstelle dem TADODataSet...
|
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