W
wangljs
Unregistered / Unconfirmed
GUEST, unregistred user!
这个问题我问过,没有好的答案!这次在加100分求答案!
问题是:
我的报表为什么没有数据!必须运行两次才行!
with table5do
//就是LS5
with query2do
begin
close;
sql.clear;
sql.text :='delete from ls5';//先删除这个库,已防库里有东西
query2.ExecSQL;
end;
table5.append;
//在向库里写数据
table5.fieldvalues['rq']:=datetostr(datetimepicker2.date);
table5.Post;
end;
end;
form5.QuickRep1.Preview;
/////////////////////////////////////////////////////////////
下面是网友给我回复:
1、table是有缓存的,所以你有两个解决办法,一:先将QuickRep1的数据源断开,重新联结。二:不使用缓存!方法1是可以在你点按钮的时候就实现的
2、应当是缓存的问题。在打开报表前,数据还没有保存到数据库中。可以增加两行代码:
Table5.ApplyUpdates;Table5.CommitUpdates;
可是我试了,添加了Table5.ApplyUpdates;Table5.CommitUpdates;
程序报错!not in cached update mode
另一种也试了,我的报表没有数据源,是又添加了N个TABLE,从TABLE中读取数据的!我试了table5.Close;
table5.Open;
可是还不行
关于断开数据源或清除内存大家在给些提示吧!
问题是:
我的报表为什么没有数据!必须运行两次才行!
with table5do
//就是LS5
with query2do
begin
close;
sql.clear;
sql.text :='delete from ls5';//先删除这个库,已防库里有东西
query2.ExecSQL;
end;
table5.append;
//在向库里写数据
table5.fieldvalues['rq']:=datetostr(datetimepicker2.date);
table5.Post;
end;
end;
form5.QuickRep1.Preview;
/////////////////////////////////////////////////////////////
下面是网友给我回复:
1、table是有缓存的,所以你有两个解决办法,一:先将QuickRep1的数据源断开,重新联结。二:不使用缓存!方法1是可以在你点按钮的时候就实现的
2、应当是缓存的问题。在打开报表前,数据还没有保存到数据库中。可以增加两行代码:
Table5.ApplyUpdates;Table5.CommitUpdates;
可是我试了,添加了Table5.ApplyUpdates;Table5.CommitUpdates;
程序报错!not in cached update mode
另一种也试了,我的报表没有数据源,是又添加了N个TABLE,从TABLE中读取数据的!我试了table5.Close;
table5.Open;
可是还不行
关于断开数据源或清除内存大家在给些提示吧!