ADOStoredProc和ADOCommand或ADODataSet利用存储过程的区别,该如何处理

ADOStoredProc和ADOCommand或ADODataSet利用存储过程的区别
存储过程在SQL Server2000中已经设置好了:
create proc Ps_insert
@Fname char(10),
@Pplace char(10),
@price int
as
insert into 
[asd] (Fname,Pplace,price)
values(@Fname ,@Pplace,@price)

GO

在BCB程序中想向表asd中插入数据可以用
ADOCommand->"insert..."
ADOCommand->"exec Ps_insert "+"cvb"+"fgh"+45;
还可以用ADOStoredProc,我请问这个要怎么用,还有ADOStoredProc和用ADOCommand会有多大区别?
------解决方案--------------------
TADOStoredProc是专门调用存储的一个组件,具体使用上TADOStoredProc需要设定过程名和参数,参数用"@"开头,具体你可以搜一下使用例子
------解决方案--------------------
procedure TForm2.Button1Click(Sender: TObject);
begin
  try
  with ADOStoredProc1 do
  begin
  Close;
  Parameters.Clear;
  Parameters.Refresh;
  Parameters.ParamByName('@remark').Value:= Edit6.text;
  Parameters.ParamByName('@riqi').Value:= DateTimeToStr(DateTimePicker1.DateTime);
  Parameters.ParamByName('@czrenyuan').Value:= combobox1.text;
  Parameters.ParamByName('@wuliaodaima').Value:= combobox2.text;
  Parameters.ParamByName('@jcshuliang').Value:= Edit5.text;
  prepared:=true;
  execProc;
  showmessage('结束');
  end;
  finally

  ADOStoredProc1.Free;
  end;
end;

然后是sql存储过程的代码
create proc jsj090412_jincang  
(@riqi datetime, @czrenyuan varchar(10),@wuliaodaima varchar(10),@jcshuliang int,@remark varchar(20))   
as
begin
  set nocount on;
  declare @danhao varchar(25),@kucun int
  declare @driqi varchar(6), @dczrenyuan varchar(4),@dwuliaodaima varchar(4),@djcshuliang varchar(5)
  select @kucun=kucun from jsj090412_wuliao where @wuliaodaima=jsj090412_wuliao.code
set @kucun=@kucun+@jcshuliang
update jsj090412_wuliao
set kucun=@kucun
where jsj090412_wuliao.code=@wuliaodaima
set @dczrenyuan=(substring(@czrenyuan,7,4))
set @driqi = (convert(varchar(10),@riqi,12))
set @dwuliaodaima = (substring(@wuliaodaima,2,4))
set @djcshuliang = (convert(varchar(5),@jcshuliang))
  set @danhao = @driqi+@dczrenyuan+@dwuliaodaima+@djcshuliang
  insert into jsj090412_jincangjilu values(@danhao,@riqi,@czrenyuan,@remark,@wuliaodaima,@jcshuliang)
end
go
------解决方案--------------------
ADOStoredProc专门封装调用存储过程的,所以调用方便些,
------解决方案--------------------
TADOStoredProc和TADODataSet都是继承自TCustomADODataSet,只不过侧重点不同。用TADODataSet也一样可以调用存储过程。