^^^^^^^^^^^^^^^^^^^^^^^^^
CREATE PROCEDURE [sy_tmp]
@a varchar(13),
@b float(16),
@c varchar(20) output
as
select @c= 'hello';
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^储存过程
ADOStoredProc1.Parameters.ParamByName('@a').Value := 'a;sdlkfj';
ADOStoredProc1.Parameters.ParamByName('@b').Value := 123.123;
ADOStoredProc1.ExecProc;
showmessage(string(ADOStoredProc1.Parameters.ParamByName('@c').value));
CREATE PROCEDURE [sy_tmp]
@a varchar(13),
@b float(16),
@c varchar(20) output
as
select @c= 'hello';
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^储存过程
ADOStoredProc1.Parameters.ParamByName('@a').Value := 'a;sdlkfj';
ADOStoredProc1.Parameters.ParamByName('@b').Value := 123.123;
ADOStoredProc1.ExecProc;
showmessage(string(ADOStoredProc1.Parameters.ParamByName('@c').value));
好像可以给datesetpovide加个方法,但具体怎么加我不知道我是菜鸟,请给提示
//delphi 5测试通过CREATE PROCEDURE sp_tmp @a int,
@b varchar(20) output
as select @b = 'hello';var
str :string;
begin
//关键################################################
SetLength(str,20); //初石化,字符串内存空间,为DataSetProvider1...... clientdataset1.Params.Clear;
clientdataset1.Params.CreateParam(ftInteger,'@a', ptInput);
clientdataset1.Params.ParamByName('@a').AsInteger := 123;
clientdataset1.Params.CreateParam(ftString,'@b', ptOutput);
clientdataset1.Params.ParamByName('@b').asstring := str; clientdataset1.Execute; showmessage(clientdataset1.Params.FindParam('@b').AsString);