C# C通过查询进行报告

C# C通过查询进行报告,c#,sql,reporting,C#,Sql,Reporting,大家好我这里有这个代码 SqlConnection con = new SqlConnection(Properties.Settings.Default.StoreDBConnection); SqlDataAdapter da = new SqlDataAdapter(); private void Form1_Load(object sender, EventArgs e) { String test = DateTime.Now.ToString(

大家好我这里有这个代码

SqlConnection con = new SqlConnection(Properties.Settings.Default.StoreDBConnection);
    SqlDataAdapter da = new SqlDataAdapter();
    private void Form1_Load(object sender, EventArgs e)
    {
        String test = DateTime.Now.ToString("yyyy-MM-dd");
        var dept = Properties.Settings.Default.GiftDepartment;
        MessageBox.Show(""+test+"");
        SqlCommand cmd = new SqlCommand("SELECT DeptNo,DeptSales,DeptCustomers FROM StoreSalesDetail where DeptNo="+dept+" and ProcDate>="+test+"", con);
        SqlDataAdapter da = new SqlDataAdapter(cmd);
        DataSet1 ds = new DataSet1();
        da.Fill(ds);
        reportViewer1.LocalReport.DataSources.Clear();
        reportViewer1.LocalReport.DataSources.Add(new Microsoft.Reporting.WinForms.ReportDataSource("DataSet1", ds.Tables[1]));
        this.reportViewer1.RefreshReport();

    }
我的表中的示例数据

2013-05-03 00:00:00.000,2,120.0000,1,1
2013-05-04 00:00:00.000,2,50.0000,1,1

测试返回日期2013-05-04,那么为什么我的报告在>=查询中同时返回这两个日期?

尝试使用datediff以获得更高的精度。请将输入值[test]用单引号括起来

SqlCommand cmd = new SqlCommand("SELECT DeptNo,DeptSales,DeptCustomers FROM StoreSalesDetail where DeptNo="+dept+" and datediff(d, '" + test + "', ProcDate) >=0", con);

在填充操作之后放置一个while循环,并枚举第一个数据表中的所有行。您是否看到这两行都在试图确定这是查询/数据问题还是报告工具问题。您能给我一个您希望我尝试的while循环的示例吗?我实际上刚刚解决了我的问题,我需要这样做:从StoreSalesDetail中选择DeptNo、DeptSales、DeptCustomers,其中DeptNo=+dept+和ProcDate>='+test+',con;