fastreport报表dataset问题

pgz_007 2008-05-28 03:48:49
所有动态报表都无法得到dataset,数据可以显示在dbgrid里面,每次执行到 frreport1.DesignReport 就提示 material:No sql statement available. (奇怪,怎么会提示material表,而不是clxm表)

frreport1对应frDBDataSet1组件,frDBDataSet1的dataset设置为adoquery1 。

Frxreport1.clear;
//好像没有这个clear Frxreport1.dataset.clear;
with adoquery1 do
begin
close;
sql.Clear;
sql.Add('select * from clxm');
open;
frreport1.LoadFromFile('111.frf');
frreport1.DesignReport;
end;

报错定位在fr_class里面的这里 frGetFieldNames(DataSet, sl);

procedure TfrDataDictionary.GetFieldList(DSName: String; List: TStrings);
var
i: Integer;
s: String;
sl: TStringList;
DataSet: TfrTDataSet;
begin
sl := TStringList.Create;
DataSet := frGetDataSet(DSName);
if DataSet = nil then
begin
DSName := GetRealDataSetName(DSName);
DataSet := frGetDataSet(DSName);
end;
if DataSet <> nil then
try
frGetFieldNames(DataSet, sl); ///////////报错定位在这里///////////
except;
end;

i := 0;
while i < sl.Count do
begin
if FieldAliases.IndexOf(DSName + '.' + sl[i]) <> -1 then
begin
s := FieldAliases[DSName + '.' + sl[i]];
if s <> '' then
sl[i] := s
else
begin
sl.Delete(i);
Dec(i);
end;
end;
Inc(i);
end;

// sl.Sort;
List.Assign(sl);
sl.Free;
end;

用frreport1.showreport可以打开那个空白的表111.frf
...全文
214 点赞 收藏 5
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
yjfjebj789 2008-10-24
你在 frreport1.DesignReport; 报表的时候应该不会连接数据,那是设计模式,怎么会报数据的错误呢
应该不是报表的问题吧
回复
火龙岛主 2008-10-24
设置断点,单步跟踪试试看
F7, F8
回复
雄牛 2008-10-24

路过!!!
友情UP......
回复
panrongzeng 2008-09-23
友情帮顶
回复
iamduo 2008-05-29
是不是没有这个的?
DataSet:=TfrTDataSet.Create;
回复
发帖
数据库相关
创建于2007-08-02

2451

社区成员

Delphi 数据库相关
申请成为版主
帖子事件
创建了帖子
2008-05-28 03:48
社区公告
暂无公告