ReportDocument SetDataSource不会更改SQL查询

2020-09-09 05:58发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


VisualStudio 2016,HelloWorld应用程序。 使用CrystalReport Engine v13。

报告模板文件。 在CR Designer中,根据报告中的表定义,进入Database/ShowSQLStatement,在其中显示大量SQL查询。 一切正确。

在运行时,我的应用程序从文件中加载模板,然后(出于测试目的)执行SetDataSource(new DataSet());

显示的报告仍根据"嵌入式" SQL查询显示结果。 似乎没有办法更改/重置查询。

帮助!

谢谢

迈克尔

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


VisualStudio 2016,HelloWorld应用程序。 使用CrystalReport Engine v13。

报告模板文件。 在CR Designer中,根据报告中的表定义,进入Database/ShowSQLStatement,在其中显示大量SQL查询。 一切正确。

在运行时,我的应用程序从文件中加载模板,然后(出于测试目的)执行SetDataSource(new DataSet());

显示的报告仍根据"嵌入式" SQL查询显示结果。 似乎没有办法更改/重置查询。

帮助!

谢谢

迈克尔

付费偷看设置
发送
8条回答
悠然的二货
1楼 · 2020-09-09 06:38.采纳回答
My梦
2楼-- · 2020-09-09 06:51

神秘地讲,如果我们使用SqlDataAdapter初始化数据集,则该代码类型有效。

........

var dbDataAdapter = newSqlDataAdapter(queryString,dbConnection);

dbDataAdapter.Fill(dataSet," LOGDATA");

reportDocument.SetDataSource(dataSet);

-------------

以前,我们按如下方式初始化DataSet:

dbTable.Load(dbCommand.ExecuteReader());

dataSet.Tables.Add(dbTable);

------------

在两种情况下,数据集的内容都是相同的。 为什么一种方法有效而另一种无效? 有"适当的"方法吗?

闻人可可
3楼-- · 2020-09-09 06:26

嗨,迈克尔,

我将VS的Tag更改为CR。

使用数据集的原因 不同的驱动程序,并不总是支持完整的SQL。 使用MS to SQL适配器会使用完整的SQL。

Don

Climb_Ma
4楼-- · 2020-09-09 06:47

Hi Don

当报表基于单个表时,SqlDataAdapter方法可以工作,但仍在处理更复杂的多表报表时遇到困难。

描述问题:

一个报告合并了来自T1 T2和T3 3个表的列。 表关系由模板硬编码。

在运行时,我们希望通过SQL查询初始化报表,该查询实际上与"嵌入式"查询相同,但在WHERE令牌中具有额外的参数。

尽管从许多人那里获得了大量信息,它们提供了关于相同或相关问题的提示和技巧,但我们无法了解如何将SqlDataAdapter用于这种情况。 尝试了几件事,但还是没有运气。

我们非常感谢您的帮助。

谢谢

M

樱桃小丸子0093
5楼-- · 2020-09-09 06:49

工作流程为:

打开报告:

登录到数据库服务器或等效服务器以获取SQL,原因是CR DB连接且SQL生成器是动态的,因此SQL将根据数据库源进行调整。

获取SQL,从报表中转换/复制SQL

与数据库服务器建立连接,并使用报表中的SQL查询数据集。

将报告的位置设置为数据集。

KBA 2281780的示例应用程序可以为您完成所有这些操作,并在调试模式下运行并一步步执行,以便您查看发生的情况。

https://launchpad.support.sap.com/#/notes/2281780

Don

奄奄一息的小鱼
6楼-- · 2020-09-09 06:38

Hi Don

由于我们没有S-UserID,因此无法阅读知识库文章。

[在这里向澳大利亚的本地人讲话,但是由于我们不是SAP用户,所以他们不能向我发出S-UserID。 巨大的录像带。]

有什么机会可以帮助您访问知识库信息? 我可以采取任何缓解疼痛的措施吗?

赞赏

M

黑丝骑士
7楼-- · 2020-09-09 06:49

这就是为什么我包括KBA编号,搜索该编号然后它就会出现的原因。

一周热门 更多>