C# 报告排序月份编号不正确
这很奇怪,因为我以前用年/月来做矩阵,但现在由于某种原因月份在变:1、10、11、12、3、4、5等等 问题是: SQL Server中的排序很好,并且图形显示的数据是正确的。以前我在其他专栏上试过它,但现在搞砸了。它将数据集用作具有以下内容的源: 戈迪纳(年)作为Int32, Mjesec(月)作为Int32和 BrojNarudzbi(订单数量)为Int32,按该顺序列在数据表中。如果有帮助的话,我就是从这个过程中获取记录的:C# 报告排序月份编号不正确,c#,sql,rdlc,C#,Sql,Rdlc,这很奇怪,因为我以前用年/月来做矩阵,但现在由于某种原因月份在变:1、10、11、12、3、4、5等等 问题是: SQL Server中的排序很好,并且图形显示的数据是正确的。以前我在其他专栏上试过它,但现在搞砸了。它将数据集用作具有以下内容的源: 戈迪纳(年)作为Int32, Mjesec(月)作为Int32和 BrojNarudzbi(订单数量)为Int32,按该顺序列在数据表中。如果有帮助的话,我就是从这个过程中获取记录的: begin Select Count(NarudzbeID)
begin
Select Count(NarudzbeID) as 'BrojNarudzbi', Month(N.DatumNarudzbe) as 'Mjesec', Year(N.DatumNarudzbe) as 'Godina'
from Narudzbe as N
Group by Year(N.DatumNarudzbe), Month(N.DatumNarudzbe)
Order by Year(N.DatumNarudzbe), Month(N.DatumNarudzbe)
同样,显示的数据是正确的,只是由于一些奇怪的原因,月份没有被排序。验证此列数据集中的数据类型
它是按字母顺序排列的,就像有字符串一样。尝试在一位数月份之前添加
'0'
begin
Select Count(NarudzbeID) as 'BrojNarudzbi',
right('0'+cast(Month(N.DatumNarudzbe) as varchar(2)),2) as 'Mjesec',
Year(N.DatumNarudzbe) as 'Godina'
from Narudzbe as N
Group by Year(N.DatumNarudzbe), Month(N.DatumNarudzbe)
Order by Year(N.DatumNarudzbe), Month(N.DatumNarudzbe)
我想您可能是将数字排序为字符串而不是数字。1,12,3是这样的。它是按字母顺序排列的,就像有字符串一样。尝试在一个数字月之前添加“0”为什么此帖子带有c#as标记。没有c#代码。您所显示的只是SQL查询结果。那么,什么不起作用呢?那么我将如何度过第10个月、第11个月和第12个月呢?我删除了您对年份所做的操作,因为它将年份全部更改为0*,但现在月份仅变为1-9,但更重要的是验证DataSet中列的数据类型它们都是System.Int32,并且月份和年份函数都应该返回Int,我不知道为什么它们的行为会像Strings这是Visual Studio中报表生成器中的一个简单矩阵,.rdlc扩展。我检查了报表数据源中的数据集,所有的INT32,我可能遗漏了一些东西,因为我以前确实让它正常工作过,但是这个解决方案现在就可以了