存储过程在Crystal报表中未显示字段

3
使用工具:CR in VS2010, SQL Server 2008R2
我有一个存储过程,当在SQL Server中运行时返回结果,但是当我将其添加到CR中时,字段资源管理器中没有显示任何字段。但如果我尝试其他存储过程,则可以正常工作并且可以看到其字段。
我正在执行以下步骤:
  1. 打开现有的CR
  2. 右键单击数据库字段-->数据库专家-->删除旧的存储过程-->添加新的存储过程
  3. 弹出输入值窗口,将所有值设置为NULL并单击确定
  4. 新的存储过程显示在数据库专家的右侧
  5. 我可以在字段资源管理器的数据库字段部分中看到新的存储过程。
  6. 然而,它旁边没有加号+标志。这意味着它不显示其字段。
事实上,新的存储过程和旧的存储过程都有相同数量的字段。只是一些SQL发生了变化。
对此感到非常恼火,请帮忙解决。
谢谢

你能展示存储过程的 T-SQL 吗?它是否使用动态 SQL 或其他会模糊其结果的方法? - RThomas
3个回答

4

如何在修改了数据库中存储过程后更新Crystal Report中的存储过程。

当您在数据库中添加参数时,也可以使用此过程。

  1. 确保您的SP不是通过SP而返回数据集。

    例如,这样将无法使用: @sql ='select * from sometable' exec(@sql)

    如果是这种情况,请在SP末尾暂时添加一个select语句

    @sql ='select column1, column2 from table1' exec(@sql)

    select column1, column2 from table1

  2. 在Crystal Report的“字段资源管理器”中,右键单击您的SP并设置数据源位置。 填写连接到数据库的详细信息。

    • 选择现有的SP和新DB连接的 SP,然后单击“更新”按钮。
  3. 在CR菜单中,选择“数据库”->“验证数据库”。

  4. 验证数据库后,从第1步中删除临时选定的语句。


0

我通过不接受水晶报表链接左侧的默认选择来解决了这个问题。我必须更改为自己的选择,而不使用默认值。

这样做起作用了。 谢谢


0

我曾经遇到过同样的问题,几乎花了一整天的时间寻找Crystal Report的不同方面,最终发现:

  1. 存储过程存在问题,我进行了更正,但字段编辑器仍然无法显示。
  2. 后来我发现Crystal Reports安装版本已经损坏,因此重新安装它,问题得以解决。

2
这可能是一条评论,请阅读如何撰写好的答案 - Tahir Raza

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接