From上有一个Button1,一个DataGrid1,想要点击Button1,在DataGrid1里面显示从存储过程返回的数据集里面的数据
CREATE  PROCEDURE test1
 (@input11 as varchar(10)) 
AS

SELECT DISTINCT
 T_STOCKENTRANCE.ENTRANCENO AS 入库单号,T_STOCKENTRANCE.BILLNO AS 采购订单号,T_STOCKENTRANCE.CHECKNO AS 入库交易号, M_SUPPLIER.SUPPLIERNM AS 供应商名称 ,T_STOCKENTRANCEDETAIL.GOODSCD AS 备件代码, M_GOODS.GOODSNM AS 备件名称,T_STOCKENTRANCE.ENTRANCEDATE AS 入库日期,M_WAREHOUSE.WHCD AS 仓库,M_LOCATION.LOCATIONCD AS 存储区域,M_UNIT.UNITCD AS 库位 ,T_STOCKENTRANCEDETAIL.CASECOUNT AS 实际箱数
,T_STOCKENTRANCEDETAIL.BULKCOUNT AS 实际散件数
,T_STOCKENTRANCEDETAIL.REASON AS 入出库理由
,T_STOCKENTRANCEDETAIL.REFUSECD AS 拒收理由
,M_DEVICE.DEVICENM AS 设备名称, M_OPERATOR.OPERATORNM AS 操作员名称
 FROM T_STOCKENTRANCE,T_STOCKENTRANCEDETAIL,M_SUPPLIER,M_GOODS,M_WAREHOUSE ,M_LOCATION,M_UNIT,M_DEVICE,M_OPERATOR
 WHERE T_STOCKENTRANCE.SUPPLIERCD = M_SUPPLIER.SUPPLIERCD
 AND T_STOCKENTRANCEDETAIL.GOODSCD = M_GOODS.GOODSCD  
 AND T_STOCKENTRANCEDETAIL.WHCD = M_WAREHOUSE.WHCD 
 AND T_STOCKENTRANCEDETAIL.LOCATIONCD = M_LOCATION.LOCATIONCD   
 AND T_STOCKENTRANCEDETAIL.UNITCD = M_UNIT.UNITCD 
 AND T_STOCKENTRANCE.DEVICECD = M_DEVICE.DEVICECD 
 AND T_STOCKENTRANCE.OPERATORCD = M_OPERATOR.OPERATORCDreturn 1
GOprocedure TCT1.Button1Click(Sender: TObject);
var
  lDataParam1, lDataParam2: TDataParam;
  ResultMessage: string;
begin
  try
    DataSetCCGCSJJ1.StoredProcName := 'dbo.test1';
    DataSetCCGCSJJ1.Params.Clear;
    lDataParam1 := DataSetCCGCSJJ1.Params.CreateParam(TFieldType.ftCursor, 'Result', TParamType.ptResult);
    lDataParam1 := DataSetCCGCSJJ1.Params.CreateParam(TFieldType.ftString, '@input11', TParamType.ptInput);
    //lDataParam2 := DataSetCCGCSJJ1.Params.CreateParam(TFieldType.ftDataSet.ftString, '@output11', TParamType.ptOutput);
    DataSetCCGCSJJ1.Open;
    DataGrid1.DataSource.Dataset := DataSetCCGCSJJ1.Fields[0].DataSet;
  //Dialogs.ShowMessage(ResultMessage);
    DataSetCCGCSJJ1.close();
  finally
    lDataParam1.Free;
    lDataParam2.Free;
  end;
end;
请帮我改改调用的代码,这样写我知道肯定是不对的,并说明说明原因,谢谢!