代码调用到如下fnOpenData()函数时有报错:
Dataset does not support books, which are required for multi-record data controls.
因为我是个菜鸟,请各位老师给出思路的时候,尽量给出代码例子
-----------------------------------------------------------------------------------------------------
function TfrmDateChng.fnOpenData(s :string): Boolean;
var
  BGQB : string;
begin
  BGQB := Trim(cbb2.Text);
  adsMaster.Tag := 1;
  adsMaster.Close;
  adsMaster.CommandText :=Format(s,[BGQB]);
  adsMaster.Parameters.ParamByName('S_RQ').Value:=DateToStr(fmrq.dbtBgn.Date);
  adsMaster.Parameters.ParamByName('E_RQ').Value:=DateToStr(fmrq.dbtEnd.Date);
  AdoOpr.Open(adsMaster);//打开主表
  adsMaster.Tag := 0;
  Result := True;
end;

解决方案 »

  1.   

    ''''+DateToStr(fmrq.dbtBgn.Date)+'''';
    要加引号,试试
      

  2.   

       adsMaster 是什么adoquery?还是adoconnection?
      

  3.   

    adsMaster是TADODataSet.  因为调用函数时,我带入的s字符串是有聚合函数sum(),有的老师说因为这个原因,现在还没能找到真正的原因,也没解决问题。
      

  4.   

    which are required for multi-record data controls.
    感觉是你的变量定义有问题
      

  5.   

    设置数据集的游标 CursorLocation为UseClient
      

  6.   

      adsMaster你close后,没有open过,还有wq尽量断点跟踪看下S字符串里是什么内容。   adsMaster.CommandText :=Format(s,[BGQB]);用到这里了还不懂怎么这个format吗?  http://www.cnblogs.com/long6/archive/2011/06/21/2085930.html
       
      

  7.   

    代码调用到如下fnOpenData()函数时有报错:
    Dataset does not support books, which are required for multi-record data controls.
    因为我是个菜鸟,请各位老师给出思路的时候,尽量给出代码例子这个问题是你的fieldbyname 给的参数不对 不是单一的数据类型 而是一张表的内容 大概的意思就是这样