with acmd_1 do begin Connection:=ado_BranchPro; CommandType:=cmdStoredProc; CommandText:='sp_RepertoireState'; Parameters.Clear ; Parameters.CreateParameter('@BatchNO',ftinteger,pdinput,10,0); Parameters.CreateParameter('@State',ftinteger,pdOutput,10,0);//返回 end;pdOutput acmd_1.execute aaaa:=paramters.parambyname('@state').value
不知你的存储过程 参考 在sql server中定义一个存储过程 CREATE PROCEDURE P_Return @a int,@retval int output ASselect @retval=count(*) from a where a =@a 客户端: var i:integer; i:=strtoint(edit1.text)//从edit1.text输入数据 edit2.text:=inttostr(dcomconnection.appserver.update(i)); //edit2.text显示执行结果 // 服务器端 function TDM_update.update(a:Integer):integer; begin ADOStoredProc1.Parameters.ParamByName('@a').value:= a;//查询参数 ADOStoredProc1.Parameters.ParamByName('@Retval').value:= 0; ADOStoredProc1.ExecProc; result:=ADOStoredProc1.Parameters.ParamByName('@retval').value;//回传结果
解决后在第一时间内揭帖
adostoredproc1.Parameters.ParamValues['@RETURN_VALUE']就是你想要的值
begin
Connection:=ado_BranchPro;
CommandType:=cmdStoredProc;
CommandText:='sp_RepertoireState';
Parameters.Clear ;
Parameters.CreateParameter('@BatchNO',ftinteger,pdinput,10,0);
Parameters.CreateParameter('@State',ftinteger,pdOutput,10,0);//返回 end;pdOutput
acmd_1.execute
aaaa:=paramters.parambyname('@state').value
参考
在sql server中定义一个存储过程
CREATE PROCEDURE P_Return @a int,@retval int output ASselect @retval=count(*) from a
where a =@a
客户端:
var
i:integer;
i:=strtoint(edit1.text)//从edit1.text输入数据
edit2.text:=inttostr(dcomconnection.appserver.update(i));
//edit2.text显示执行结果
//
服务器端
function TDM_update.update(a:Integer):integer;
begin
ADOStoredProc1.Parameters.ParamByName('@a').value:= a;//查询参数
ADOStoredProc1.Parameters.ParamByName('@Retval').value:= 0;
ADOStoredProc1.ExecProc;
result:=ADOStoredProc1.Parameters.ParamByName('@retval').value;//回传结果
end;
分数等会会加上去;每人11;
弱弱的再问一句;
能不能用adoquery完成任务;
^_^
主要是个人对TADOStoredProc控件没什么好感;^_^