我想在Delphi中以编程方式创建一个sqlDataSet,并使用它来执行存储过程并获取输出参数的值.看起来很简单,但我不能让它工作.
这是sql Server中的一个哑存储过程:
CREATE PROCEDURE [dbo].getValue @x INT OUTPUT AS BEGIN SET @x = 10; END
现在,这是我尝试过但不起作用的变体之一:
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;