Ich möchte ein SQLDataSet in Delphi programmatisch erstellen und damit eine Stored Procedure ausführen und den Wert eines Ausgabeparameters abrufen. Sieht einfach aus, aber ich kann es nicht funktionieren lassen.Delphi: Wie erhalten Sie den Wert eines Ausgabeparameters einer gespeicherten Prozedur?
Hier ist eine stumme gespeicherte Prozedur in SQL Server:
CREATE PROCEDURE [dbo].getValue @x INT OUTPUT
AS
BEGIN
SET @x = 10;
END
hier nun eine der Varianten ist, dass ich versuche und habe nicht funktioniert:
proc := TSQLDataSet.Create(nil);
proc.SQLConnection := DefaultConnection;
proc.CommandText := 'getValue';
proc.Params.CreateParam(ftInteger, '@x', ptOutput);
proc.Params.ParamByName('@x').Value := 0;
proc.ExecSQL(False);
value := newIdProc.Params.ParamByName('@x').AsInteger;
Ich dachte, es wäre einfach , aber es gibt einige registredbugs um dieses Problem.