我用的是finereport,一般这个问题解决很方便,方法如下。那个水晶应该也差不多参照这个可以解决吧。
新建一张空白模板,如下图所示,往模板中添加控件:
添加参数
点击模板>模板参数,添加两个参数base和table,其中base参数用来传递数据库的名称,table参数用来传递表名,如下图:
切换到参数设计面板,将刚刚添加的2个参数全部添加到面板中,base控件和table控件均使用下拉框
由于FineReport内置的数据连接只有一个FRDemo,故这里的base参数就直接使用FRDemo,不变更其值,只改变table参数的值。base参数下拉框的默认值为FRDemo,无需数据字典。
table参数下拉框的默认值为订单,数据字典
报表填报属性设置
点击模板>报表填报属性,添加一个内置SQL,数据库后面输入=$base,表后面输入=$table,然后点击智能添加字段,会d出一个参数输入框
数据库base参数输入FRDemo,表table参数输入订单。
注:由于参与动态填报的数据库中的数据表中与单元格绑定的字段都是一致的,所以随便选择一组在数据库中存在的数据库名和表名称即可,主要是为了获取需单元格绑定的数据表字段。
选择需要填报入库的字段,然后点击智能添加单元格,将模板总的字段与数据表字段绑定起来,并设置订单ID为主键
效果查看
保存模板,点击填报预览,如下图,数据库由于只有一个值,无需选择,即base参数为FRDemo。
注:base参数也是可以改变的,只需要给其赋值即可。
数据表选择订单
web端参数界面上数据表选择订单,即base参数为订单,点击查询,再填报一条记录,提交入库,即可在订单表中看到多了一条刚刚插入的记录,而S订单表中则没有:
数据表选择S订单
希望可以帮到你
如何连接sqlserver数据库
以sqlserver2008R2为例。
1、打开sql2008,使用windows身份登录
2、登录后,右键选择“属性”。左侧选择“安全性”,选中右侧的“SQL Server 和 Windows 身份验证模式”以启用混合登录模式
3、选择“连接”,勾选“允许远程连接此服务器”,然后点“确定”
4、展开“安全性”,“登录名”;“sa”,右键选择“属性”
5、左侧选择“常规”,右侧选择“SQL Server 身份验证”,并设置密码
6、右击数据库选择“方面”
7、在右侧的方面下拉框中选择“服务器配置”;将“RemoteAccessEnabled”属性设为“True”,点“确定”
8、至此SSMS已设置完毕,先退出,再用sa登录,成功即表示sa帐户已经启用
9、打开sql server配置管理器
10、下面开始配置SSCM,选中左侧的“SQL Server服务”,确保右侧的“SQL Server”以及“SQL Server Browser”正在运行
11、在左则选择sql server网络配置节点下的sqlexpress的协议,在右侧的TCP/IP默认是“否”,右键启用或者双击打开设置面板将其修改为“是”
12、选择“IP 地址”选项卡,设置TCP的端口为“1433”
13、将"客户端协议"的"TCP/IP"也修改为“Enabled”
配置完成,重新启动SQL Server 2008。此时应该可以使用了,但是还是要确认一下防火墙。打开防火墙设置。将SQLServrexe(C:\Program Files\Microsoft SQL Server\MSSQL10SQLEXPRESS\MSSQL\Binn\sqlservrexe)添加到允许的列表中。
帆软输出参数是定义数据集参数。
新建数据集 ds1,数据库查询对话框中写入 SQL 查询语句SELECT FROM 销量 WHERE 地区='${地区}',在数据库查询语句中定义一个数据集参数「地区」。点击右下角刷新按钮,下方数据集参数管理面板会显示已经新建好的数据集参数「地区」,设置它的默认值为华东。点击确定,即同时完成了数据准备和定义数据集参数的工作。
参数面板选中下拉框控件,右边属性面板选择属性>数据字典,点击数据字典编辑按钮,d出数据字典设置对话框。数据字典的类型设置为数据库表,数据库为FRDemo,选择数据库表为销量,列名实际值和显示值都为地区。
以上就是关于如何在crystal report中不重复统计全部的内容,包括:如何在crystal report中不重复统计、如何连接sqlserver数据库、帆软输出参数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)