2013-05-04 78 views
0

大家好我這裏有這個代碼在我的表C#報告通過查詢

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年5月4日,爲什麼我的報告同時返回日期在> =查詢中?

+0

在填充操作之後放置一個while循環並枚舉第一個數據表中的所有行。你看到兩行(試圖確定這是查詢/數據問題還是報告工具問題) – billinkc 2013-05-04 15:12:15

+0

你能給我一個你想讓我試試的while循環的例子麼? – quatre432 2013-05-04 15:17:35

回答

1

嘗試使用datediff以獲得更高精度。將輸入值[測試]用單引號包裹。

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

我其實只是想通了我的promblem需要執行此操作SELECT DeptNo,DeptSales,DeptCustomers FROM StoreSalesDetail where DeptNo =「+ dept +」and ProcDate> ='「+ test +」'「,con); – quatre432 2013-05-04 15:59:09