我需要在delphi中调用若干个已经制作完毕的水晶报表,这些水晶报表的数据源是服务器上的数据库,需要实现的功能是:
1.用户在delphi应用程序中可以自己选择报表统计的日期区间。
请问要用到哪个控件,参数如何设置?
2.用户可以刷新和保存报表中的数据。
水晶报表的数据库源有密码,请问我在delphi应用程序中怎么登录数据库?使用哪个控件,参数怎么设置?另外补充一个问题,在delphi中需要用到Report控件吗?目前我只用了Application和CRViewer控件,好像也能调用水晶报表,不知道什么情况下需要Report控件?我看到delphi中有Report,Application,ParameterValue,ParameterValueInfo,CRViewer,CRFields等等水晶报表控件,但是不知道怎么用,还请高手指点具体的使用方法,或者告知哪里有这方面的资料下载?感激不尽,定高分相赠。
1.用户在delphi应用程序中可以自己选择报表统计的日期区间。
请问要用到哪个控件,参数如何设置?
2.用户可以刷新和保存报表中的数据。
水晶报表的数据库源有密码,请问我在delphi应用程序中怎么登录数据库?使用哪个控件,参数怎么设置?另外补充一个问题,在delphi中需要用到Report控件吗?目前我只用了Application和CRViewer控件,好像也能调用水晶报表,不知道什么情况下需要Report控件?我看到delphi中有Report,Application,ParameterValue,ParameterValueInfo,CRViewer,CRFields等等水晶报表控件,但是不知道怎么用,还请高手指点具体的使用方法,或者告知哪里有这方面的资料下载?感激不尽,定高分相赠。
可以设置过滤条件等。
用控件:CRPE(在Delphi面板上DataAccess)
建立连接:
Crpe.ReportName := '';
Crpe.Connect.ServerName := '';
Crpe.Connect.DatabaseName := '';
Crpe.Connect.UserID := '';
Crpe.Connect.Password := '';
Crpe.Connect.Propagate := True;
SQL查寻:
Crpe.SQL.Query.Text := '';
给报表文本赋值:
Crpe.TextObjects[2].Lines.Text := '';显示:
Crpe.Show;
CrpeReport:TCrpe;CrpeReport.ParamFields[i].CurrentValue := 某值;其中i是第几个参数。
如果参数是日期时间,需要用这个函数:CrDateTimeToStr(日期时间值,false);设置数据库连接用
CrpeReport.Connect.ServerName := 数据库服务器名
CrpeReport.Connect.DatabaseName := 数据库名;
CrpeReport.Connect.UserID := 用户ID;
CrpeReport.Connect.Password := 用户密码;如果你装了控件,应该装了帮助的,里面东西还挺全的,自己看看就可以了。
“CrpeReport.ParamFields[i].CurrentValue := 某值;其中i是第几个参数。”
我如何获知我所用的报表的日期参数的i值是多少?我需要在制作水晶报表模板时就把日期字段设为参数吗?还是说只需要在delphi中直接将日期字段视为参数,通过用户输入来赋值就行了?
什么情况下才会弹出登录数据库的窗口?
控件在...borland\delphi6\Crystal目录下
to eastliangliang(青苹果):
如果要刷新数据的话是不是就只能先打开水晶报表,刷新,然后启动delphi应用程序?
就不能在delphi中由用户自己刷新吗?
我刚才这样试过了:
Crpe1.ReportName:='e:\Report1.rpt';
Crpe1.Connect.DatabaseName:='databasename';
Crpe1.Connect.Password:='password';
Crpe1.Connect.Propagate:=true;
Crpe1.Connect.ServerName:='oraclea';
Crpe1.Connect.UserID:='userid';
Crpe1.DiscardSavedData;
Crpe1.Refresh;
Crpe1.Execute;
但是运行发生异常,这是为什么?