通过Cystal报表SDK C#应用表联接

2020-08-16 23:58发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨, 我正在使用C#将Crys...

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

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


嗨,

我正在使用C#将Crystal Report 8.5迁移到Crystal report16。

到目前为止,我正在使用以下代码执行查询:

CrystalDecisions.Shared.ConnectionInfo ConnInf;
ConnInf = reportDocObject.Database.Tables [0] .LogOnInfo.ConnectionInfo;

字符串strTableName = reportDocObject.Database.Tables [0] .Name;

reportDocObject.SetSQLCommandTable(ConnInf,strTableName,CombinedQuery);//crptModel.strSQLClause);
reportDocObject.VerifyDatabase();

crystalReportViewerBrz.ReportSource = reportDocObject;

如果我在" From"子句中的表上设置了查询,则上述代码可以正常工作,但是如果查询具有join语句并从两个表中获取记录,则以上代码将无法正常工作。

我在Visual Studio2019中使用SDK2017和Crystal Report 2016。

请建议是否可以使用SQL语句中的join执行上述方式的查询。

3条回答
haha101010
2020-08-17 00:44 .采纳回答

在Crystal 8.5或更早版本和Crystal 9或更高版本之间,.rpt文件的内部结构之间存在很大差异。 最大的缺点是,在Crystal 8.5及更早版本中,您可以手动修改Crystal生成的SQL以根据需要进行调整。 从Crystal 9开始,您将无法操作Crystal生成的SQL,而不得不在报表中使用Command而不是表格。

大约15年前,我不得不将数百个Crystal 8.5报表转换为 水晶十一。 我们发现,对于只有一个表的报表,我们可以在新版本的Crystal中打开它们,并保存它们以进行转换。 对于具有多个表的报表,我们必须在新版本中手动重新创建它们。 将表添加到新版本中并加入数据库专家后,将行将每个对象从旧报表复制到新报表中是很容易的任务,除了必须重新绘制的行。 我的猜测是您正在尝试避免手动进行操作。 除非您有成千上万的Crystal报表要转换,否则使用一些初级资源来完成大多数初始转换,并由更熟悉报表的人来检查它们而不是尝试这样做,这样做将更具成本效益,并且更容易手动完成此操作。

-Dell

一周热门 更多>