C# Crystal报告在我对dataset使用查询时重复这些项
我是水晶报告的新手。将数据集中的数据绑定到crystal报表时显示两次或三次 我使用的是SQL2005和VS2008 我在调试时也签入了SQL和dataset,但在dataset中只有5条记录,但在我的水晶中显示了10条记录 下面是我的代码:C# Crystal报告在我对dataset使用查询时重复这些项,c#,asp.net,C#,Asp.net,我是水晶报告的新手。将数据集中的数据绑定到crystal报表时显示两次或三次 我使用的是SQL2005和VS2008 我在调试时也签入了SQL和dataset,但在dataset中只有5条记录,但在我的水晶中显示了10条记录 下面是我的代码: ReportDocument doc = new ReportDocument(); sda = new SqlDataAdapter(" SELECT ac_mstr.AC_DESC, TRAN_HDR.DOC_DT, TRAN_DTLS.GL_COD
ReportDocument doc = new ReportDocument();
sda = new SqlDataAdapter(" SELECT ac_mstr.AC_DESC, TRAN_HDR.DOC_DT, TRAN_DTLS.GL_CODE, DBCR, AMT FROM dbo.TRAN_DTLS TRAN_DTLS INNER JOIN dbo.AC_MSTR ac_mstr ON (TRAN_DTLS.SUB_CODE=ac_mstr.SUB_CODE) AND (TRAN_DTLS.GL_CODE=ac_mstr.GL_CODE) INNER JOIN dbo.TRAN_HDR TRAN_HDR ON (TRAN_DTLS.TC=TRAN_HDR.TC) AND (TRAN_DTLS.DOC_NO=TRAN_HDR.DOC_NO) where tran_hdr.tc='CAS' and tran_hdr.doc_dt between '2012/01/01' and '2012/12/30' ORDER BY TRAN_DTLS.GL_CODE", con);
sda.Fill(ds);
doc.Load(Server.MapPath("~/Reports/Acc_sum.rpt"));
doc.SetDataSource(ds.Tables[0]);
CrystalReportViewer1.ReportSource = doc;
有人能帮我吗?错误来自您的查询:
SELECT ac_mstr.AC_DESC, TRAN_HDR.DOC_DT, TRAN_DTLS.GL_CODE, DBCR, AMT
FROM dbo.TRAN_DTLS TRAN_DTLS INNER JOIN dbo.AC_MSTR ac_mstr
ON (TRAN_DTLS.SUB_CODE=ac_mstr.SUB_CODE) AND (TRAN_DTLS.GL_CODE=ac_mstr.GL_CODE)
INNER JOIN dbo.TRAN_HDR TRAN_HDR ON (TRAN_DTLS.TC=TRAN_HDR.TC) AND (TRAN_DTLS.DOC_NO=TRAN_HDR.DOC_NO) where tran_hdr.tc='CAS' and tran_hdr.doc_dt between '2012/01/01' and '2012/12/30' ORDER BY TRAN_DTLS.GL_CODE
这会使您的数据出现两次,因此请更改您的查询。Crystal Reports会对数据执行意外操作。开始调试的一个好地方(除了在编辑器中打开crystal报表并四处单击)是使用SQL Server Profiler。有关更详细的教程,请访问 需要注意的是,尽管SQLServer2005Express可以与SQLServerPro文件管理器一起使用,但它并没有与程序捆绑在一起 为了方便您,我附上了一套基本的说明: -
- 从开始菜单:\All Programs\Microsoft SQL Server 2005\Performance Tools\SQL Server Profiler
- 来自SQL Server Management Studio:Tools\SQL Server Profiler
(它们是“事件选择”选项卡上的许多常用功能,但出于您的目的,默认设置应该可以。)
如果您需要其他帮助,请告诉我。如果我猜您的Crystal report包含联系SQL server所需的信息,因此您的数据集是第一组值,而来自服务器的数据集是第二组值。如果没有你的水晶报告和更多的时间,我无法判断。您还可以在报告中保存值。尝试运行SQL探查器,查看crystal report是否正在查询数据库。尝试在编辑器/查看器中打开crystal report,查看其中是否保存了数据(或尝试更改服务器上的数据,查看是否获得了新值的副本)。在crystal report中,预览时它包含一条记录,但在运行时它只包含重复的数据。如何运行crystal report的SQL事件探查器?K但此查询只返回一次值。在调试时,我签入了数据集。在dataset中,它一次显示一个值,但在crystal中查看时,它包含两个值