水晶报表表链接问题
刚开始用vs.net(c#)和crystalreport for vs2005.net做报表。遇到一个很基础性的问题困扰住了,在csdn上找了两天。发现这么简单的问题居然没有。呵呵,见笑了。问题是这样的:我想在报表里面显示表a{aa,ab}和表b{ab,bb}的相关字段。两个表是通过字段ab关联的。步骤如下:
1。在报表设计器里面设计报表
2。设计窗体
1。在报表设计器里面设计报表。都是常规步骤:
a.用crystalreport 向导创建一个空白报表rpt
b.在数据源配置向导新建一数据源,使用默认数据集名称DataSet1,选择数据库对象里面选择表 a和表b,完成
c.在rpt报表设计器里面右键单击,选数据库-数据库专家-数据源-项目数据-ado.net数据集-DataSet1,把两个表都选入。点击链接选项卡,拖拉表a里面的“ab”字段到表b里面的“ab”字段上。链接出现。
d.选中该链接,点击链接选项按钮。设置联接类项为“左外部联接”,强制联接为“强制两者”,链接类型为“=”。完成。
e.报表设计器内,把字段资源管理器-数据库字段中拖拉所需要的字段到详细资料区。
2。在form_load事件里编写代码
a.初始化数据库连接。
b.生成数据集的sql语句为:select a.aa,b.bb from a inner join b on a.ab = b.ab //
c.指定报表的数据集 rpt.SetDateSource(Dataset);
d.指定crystalreportview的报表源。crystalreportview1.reportsource =rpt
结果是:报表里面aa字段有数据,但bb字段没有数据。 那句sql语句我在sql查询器里面实验了一下,出来两个字段都有数据。我怀疑是数据库专家里面两个表的链接有问题。可是我实在找不到错在哪里?这么简单的问题困扰我两天了。希望大家有空帮我看看。谢谢先。。。。