我有一个Crystal Report文件,我想知道报告中使用的存储过程的名称是什么。如何通过后面的代码检索它。这可能吗?
C#代码会更好,因为我在C#编码。
答案 0 :(得分:1)
假设您只是想获得SP的名称,那么有几种不同的方法可以解决这个问题:
如果你有Crystal Reports ......
打开设置数据源位置对话框。底部窗格将是可用数据库对象的树视图,包括存储过程列表。突出显示的SP将是它正在调用以检索报告数据的SP。
如果这没有帮助(即:没有突出显示的存储过程),则在报表设计器区域中单击鼠标右键,然后选择Database -> Show SQL Query
。这将显示用于从数据库中检索数据的查询。它可能包含存储过程的名称。
如果您没有Crystal Reports ......
使用this code中的Code Project将报告加载到C#中并从那里遍历报告。 http://www.codeproject.com/KB/cs/loadingcrystalreport.aspx
如果这没有帮助(例如:您还没准备好解决Crystal Reports的C#方面),那么您可以使用数据库的分析工具监视报告中的调用以查看哪个SP (s)它正在调用获取运行报告所需的数据。 SQL Server的SQL Profiler
是一个很好的工具。以下是一些有助于您前进的教程:
答案 1 :(得分:0)
不幸的是,没有办法以编程方式执行此操作。您可以查看数据源,设置数据源,但除了通过Crystal Reports设计器之外,您无法检索用于生成报告的实际SQL。