SelectDS 过程 根据传入的日期字符,返回一批数据,
我现在通过DBexpress查询到后,但是想显示在DBgrid中,DBGrid      -> DataSource1
DataSource1   -> SQLStoredProc1
SQLStoredProc1 ->SQLConnection1  SQLStoredProc1.Close;
  SQLStoredProc1.SQLConnection := SQLConnection1;
  SQLStoredProc1.PackageName := 'Pkg_TestDS';
  SQLStoredProc1.StoredProcName := 'SelectDS';
  SQLStoredProc1.Params.CreateParam(ftString,'sBegin',ptInput);
  SQLStoredProc1.Params.CreateParam(ftString,'sEnd',ptInput);
  SQLStoredProc1.Params.CreateParam(ftCursor,'ORF',ptOutput);
  SQLStoredProc1.Params.ParamByName('sEnd').Value := '2007-01-21 00:00:00';
  SQLStoredProc1.Params.ParamByName('sBegin').Value := '2007-01-01 00:00:00';
  SQLStoredProc1.Params.ParamByName('ORF').Value := null;
  SQLStoredProc1.Open;
但是就是报这个错
List index out of bounds (0)郁闷,估计是显示在DBgrid中出错了,我这样的做法有问题吗?有问题的话,该怎么改才能将返回的数据集显示到dbgrid中,请贴出你运行成功的代码!!谢谢

解决方案 »

  1.   

    上面的错我解决了,不过又报这个错了
    ---------------------------
    Project1
    ---------------------------
    Operation not allowed on a unidirectional dataset.
    ---------------------------
    确定   
    ---------------------------
      

  2.   

    是不是返回游标型的数据集  不是这么简单的直接绑定给
    datasource后显示到dbgrid,还得通过其他的中间件呀??请高人出招~~
      

  3.   

    没有试过,你把SQLStoredProc1通过控件链接到CleintDataSet里,看看可不可以