FastReport的frxDBDataset使用问题

jmg 2011-12-14 11:41:50
我使用一个frxReport,在其中有Memo值为[dataset].[field],使用一个frxDBDataset,设好别名后,frxReport的dataset指向它,还有一个ADOQuery,frxDBDataset的DataSet指向ADOQuery,可是当PrepareReport的时如果ADOQuery设计时没有对SQL赋值,则提示ADOQuery的SQL属性为空,如果赋值后则可显示,但程序动态改变了SQL后再读入fr3文件,frxReport的值仍对应之前的ADOQuery的数值而不是新的。
好奇怪,是不是我这样用不对,请大家指教。
...全文
808 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
jmg 2011-12-16
  • 打赏
  • 举报
回复
问题已解决,设计时要关联frxDBDataset,并将ADOQuery指定给frxDBDataset,程序执行时要用frxReport->DataSets->Clear()再重新关联frxDBDataset,不过还是不明白,为什么要这样,希望有人可以指点一二。
jmg 2011-12-15
  • 打赏
  • 举报
回复
感觉应该是关联这个Query在设计时状态,
因为1.如果设计时没有对这个Query的SQL赋值,而是运行时赋值,程序会报SQL未设置错误
2.如果设计时对这个Query的SQL赋值,并且可以取到数据,则Report取到就一直是这个数据,无论在而是运行时对Query的SQL修改,还是打开或关闭,Report只显示这个数据。
不太明白,以前都是直接对Memo直接赋值的,这次想试试数据集,怎么会出现这个状况,汗,请知道的人,指教一下。
缘中人 2011-12-14
  • 打赏
  • 举报
回复
ADOQuery关闭,看还能出来数据不

如果出不来,就说明报表没问题,
下来就看ADOQuery的sql动态赋值后的结果集是否正确
缘中人 2011-12-14
  • 打赏
  • 举报
回复
关闭了还显示这个query的数据,那说明frdataset关联的不是这个query了,是其他的query了
jmg 2011-12-14
  • 打赏
  • 举报
回复
应该不关ADOQuery的值我在程序的界面也是使用这个ADOQuery,
无论ADOQuery关闭还是打开,frxReport显示的都是设计时ADOQuery中的数据,如果设计时不能显示数据,比如未设ADOQuery的SQL值,在打开程序后,就算再设好SQL值,打开ADOQuery,PrepareReport都会报错,说未设置SQL属性
我不懂电脑 2011-12-14
  • 打赏
  • 举报
回复
ADOQuery要关闭后再打开

1,178

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 数据库及相关技术
社区管理员
  • 数据库及相关技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧