访问服务器的存储过程:提示错误(190分)

  • 主题发起人 主题发起人 sun100
  • 开始时间 开始时间
S

sun100

Unregistered / Unconfirmed
GUEST, unregistred user!
存储过程代码如下:
CREATE procedure denglu2 ( /*简单的例子*/
@yhbm int, @kouling varchar(16) output )
as
begin

update jblsb set xjyj=55+xjyj where jblsh=14999
set @kouling='1111'
end
中间层放两个过程组件DataSetProvider1+ADOStoredProc1(动手连接数据库了使用connectionstring连接),在这里写个接口方法:
procedure Tprod.getpro;
begin
ADOStoredProc1.Close ;
ADOStoredProc1.Parameters.Clear;
ADOStoredProc1.ProcedureName:='denglu2;1';
ADOStoredProc1.Parameters.CreateParameter('yhbm',ftString,pdinput,15,1);
ADOStoredProc1.Parameters.CreateParameter('kl',ftString,pdOutput,15,1);
end;
2.客户端是SocketConnection1+ClientDataSet1,调用代码:
procedure TForm1.Button1Click(Sender: TObject);
begin
SocketConnection1.AppServer.getpro;
ClientDataSet1.Close ;
ClientDataSet1.Params.Clear ;
ClientDataSet1.Params.CreateParam(ftinteger,'yhbm',ptinput) ;
ClientDataSet1.Params.CreateParam(ftstring,'kl',ptoutput) ;
ClientDataSet1.Params.ParamByName('yhbm').Value:= 8 ;
ClientDataSet1.Execute;
end;
可是客户端一执行到ClientDataSet1.Execute的时候,弹错错误提示:
不正常地定义参数对象,提供了不一致或不完整的信息.
什么原因呢,如果我把ptoutput改为ptinput,它又能正确执行?
 
没用存储过程的,但clientdataset fetch params就可以取得参数了,
 
参数传递不对...
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
937
SUNSTONE的Delphi笔记
S
后退
顶部