Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 报告排序月份编号不正确_C#_Sql_Rdlc - Fatal编程技术网

C# 报告排序月份编号不正确

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)

这很奇怪,因为我以前用年/月来做矩阵,但现在由于某种原因月份在变:1、10、11、12、3、4、5等等

问题是:

SQL Server中的排序很好,并且图形显示的数据是正确的。以前我在其他专栏上试过它,但现在搞砸了。它将数据集用作具有以下内容的源:

戈迪纳(年)作为Int32, Mjesec(月)作为Int32和 BrojNarudzbi(订单数量)为Int32,按该顺序列在数据表中。如果有帮助的话,我就是从这个过程中获取记录的:

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,我可能遗漏了一些东西,因为我以前确实让它正常工作过,但是这个解决方案现在就可以了