hallo Leute,
ich habe ein Problem beim Ausführen von ADOCommand. Wenn der Query ein SELECT-Befehl ist, läuft die Routine einwandfrei. Wenn er aber ein z.B. UPDATE-Befehl ist, dann gibt es "Stacküberlauf" bei der Zuweisung von Recordset.
So ist mein Code:
<pre>
procedure .....
var RecCount: integer;
begin
try
//dmData ist ein Datenmodul
dmData.ADOCommand1.CommandText := 'UPDATE Personal SET Groesse=160 WHERE PersNr=1234';
//Zuweisung erzeugt "Stackoverflow" bei "UPDATE"...
dmData.ADODataSet1.Recordset := dmData.ADOCommand1.Execute(RecCount, EmptyParam);
except
//ShowError() bringt nur ein MsgBox
on e:Exception do ShowError('Fehler: '#13#10+e.Message);
end;
end;
</pre>
Das ist ein kleiner Tool, um eine beliebige Query auszuführen. Deshalb möchte ich Recordset holen, um die Daten anzuzeigen.
Gibt es eine Möglichkeit dieses Problem unabhängig von Queries zu lösen.
vielen Dank im Voraus.
Nguyen Dai Duong
ich habe ein Problem beim Ausführen von ADOCommand. Wenn der Query ein SELECT-Befehl ist, läuft die Routine einwandfrei. Wenn er aber ein z.B. UPDATE-Befehl ist, dann gibt es "Stacküberlauf" bei der Zuweisung von Recordset.
So ist mein Code:
<pre>
procedure .....
var RecCount: integer;
begin
try
//dmData ist ein Datenmodul
dmData.ADOCommand1.CommandText := 'UPDATE Personal SET Groesse=160 WHERE PersNr=1234';
//Zuweisung erzeugt "Stackoverflow" bei "UPDATE"...
dmData.ADODataSet1.Recordset := dmData.ADOCommand1.Execute(RecCount, EmptyParam);
except
//ShowError() bringt nur ein MsgBox
on e:Exception do ShowError('Fehler: '#13#10+e.Message);
end;
end;
</pre>
Das ist ein kleiner Tool, um eine beliebige Query auszuführen. Deshalb möchte ich Recordset holen, um die Daten anzuzeigen.
Gibt es eine Möglichkeit dieses Problem unabhängig von Queries zu lösen.
vielen Dank im Voraus.
Nguyen Dai Duong
Comment