请问如何用adostoredproc组件执行一个带参数的存储过程。
SQL SERVER 的存储过程如下:
CREATE PROCEDURE gg
@sun1_1 char(10)
 AS
select * FROM SUN where sun1=@sun1_1
GO
下面不对,,,我该如何改正呢。
adostoredproc1.Connection:=adoconnection1;
adostoredproc1.ProcedureName:='gg';
adostoredproc1.Active:=true;
adostoredproc1.Prepared:=true;
adostoredproc1.fieldByName('@sun1_1').asstring:=edit1.Text;
adostoredproc1.ExecProc;
adostoredproc1.Open;
datasource1.DataSet:=adostoredproc1;
dbgrid1.DataSource:=datasource1;
注adoconnection1没有问题

解决方案 »

  1.   

    adostoredproc1.fieldByName('@sun1_1').asstring:=edit1.Text;
    is error
      

  2.   

    adostoredproc1.parameters.parameterbyname('@sun1_1').asstring:=edit1.Text;
      

  3.   

    agree with b51
    adostoredproc1.parameters.parameterbyname('@sun1_1').asstring:=edit1.Text;
      

  4.   

    agree with b51
    adostoredproc1.parameters.parameterbyname('@sun1_1').asstring:=edit1.Text;or
    adostoredproc1.parameters.ParamValues['@sun1_1']:=edit1.Text;or
    adostoredproc1.Parameters[0].Value:=edit1.Text;