1.参数只有两个,程序中添加了6个
2.字符串型的参数设置长度  
3.参数名中的@是不是要去掉不是很肯定改成下面的试试
with ADOStoredProcx.Parameters.AddParameter do
begin
  DataType :=ftstring;
  size:=10;
  Name :='@aa';
  Value :='ddd';
end;
with ADOStoredProcx.Parameters.AddParameter do
begin
  DataType :=ftinteger;
  Name:='@bb';
  Value :=11;
end;

解决方案 »

  1.   

    看不懂你要干什么,是要返回所有的SSS内容吗?
      

  2.   

    ADOStoredProcx.Active :=true;改成  ADOStoredProcx.ExecProcADOConnectionx.DefaultDatabase:='pubs';
    ADOConnectionx.open;//加上
    ADOStoredProcx.Connection :=ADOConnectionx
      

  3.   

    ADOStoredProcx.Parameters.AddParameter.DataType :=ftstring;
       ADOStoredProcx.Parameters.AddParameter.Name :='@aa';
       ADOStoredProcx.Parameters.AddParameter.Value :='ddd';
       ADOStoredProcx.Parameters.AddParameter.DataType :=ftinteger;
       ADOStoredProcx.Parameters.AddParameter.Name:='@bb';
       ADOStoredProcx.Parameters.AddParameter.Value :=11;
       改成
    ADOStoredProcx.Parameters[0].DataType :=ftstring;
       ADOStoredProcx[0].AddParameter.Name :='@aa';
       ADOStoredProcx[0].AddParameter.Value :='ddd';
       ADOStoredProcx[1].AddParameter.DataType :=ftinteger;
       ADOStoredProcx[1].AddParameter.Name:='@bb';
       ADOStoredProcx[1].AddParameter.Value :=11;
      

  4.   

    你的@bb在你的程序中没有return @bb的需要,
      

  5.   

    其实我要做的是动态生成一个ADOStoredProc,然后连接数据库中的一个有返因值的存储过程(还返回一个表),在DBGrid中显示出来.并且显示返因值,用showmessage();