2015-02-07 55 views
0

我正在開發Point of Sales系統。如何在DataGridView中按月顯示數據庫

我的問題是:我需要按月顯示我的數據庫但我的代碼不工作。

我的代碼是:

sql = "select * from POS where iDate = '" + DateTime.Now.ToString("M/d/yyyy") + "'"; 
     da = new OleDbDataAdapter(sql, con); 
     dt.Clear(); 
     da.Fill(dt); 
     dataGridView1.DataSource = dt; 

謝謝:)

+0

你是什麼意思「按月顯示」?目前還不清楚你在做什麼,你可以展示一個數據的例子,你想從中獲得什麼以及你現在得到什麼? – 2015-02-07 15:12:32

+0

你能不能定義'不工作'?你沒有得到你想要的結果?沒有得到任何結果呢?發生異常?完整的細節將有助於獲得答案。 – 2015-02-08 03:03:17

回答

1

你不應該創建SQL查詢這樣的,這是非常不安全的。而是使用OleDbCommand構造函數。要選擇特定月份/年份的日期,您可以使用DATEPART。下面是我寫得很快的東西,所以沒有經過測試。你可能需要調整一下。

OleDbDataAdapter adapter = new OleDbDataAdapter(); 
OleDbCommand command; 

// Create the SelectCommand. 
command = new OleDbCommand("SELECT * FROM POS " + 
          "WHERE DATEPART(m, iDate) = @Month "+ 
          "AND DATEPART(yyyy, iDate) = @Year", con); 

command.Parameters.AddWithValue("@Month", 2); 
command.Parameters.AddWithValue("@Year", 2015); 

adapter.SelectCommand = command; 
相關問題