2015-10-02 61 views
-1

基本上,我想運行一個查詢來將數據輸入到VB窗體(特別是MONTH和YEAR)中。如何使用SELECT查詢選擇MONTH()和YEAR()

這是我目前有:

SELECT * FROM orders WHERE MONTH(date_ordered) = ? AND YEAR(date_ordered) = ? ; 

當我在我的數據庫運行這一點,這是行不通的。我沒有得到任何結果。

但是,如果我把它像這樣:

SELECT * FROM orders WHERE MONTH(date_ordered) = 08 AND YEAR(date_ordered) = 1989; 

它工作正常,並拉起了預期的效果。很明顯,因爲我使用的是一個表單,用戶應該自己輸入「月」和「年」,這使得事情有點棘手。

我在這裏錯過了什麼?歡呼任何想法。

注意:date_ordered字段是具有短日期格式的日期/時間字段。

+1

確定您所使用的數據庫,並適當地標記您的問題。 –

+1

因爲這兩個產品有不同的方式來做到這一點... – jarlh

+0

道歉;事故!對MS Access數據庫使用SQL查詢。 – antisonfire

回答

0

這可能會幫助你..

Dim sql As String = "SELECT * FROM orders WHERE MONTH(date_ordered) = @mon and YEAR(date_ordered) = @year" 
Using cn As New SqlConnection("Your connection string here"), _ 
     cmd As New SqlCommand(sql, cn) 

     cmd.Parameters.Add("@mon", SqlDbType.VarChar, 50).Value = textBox1.text 
     cmd.Parameters.Add("@year", SqlDbType.VarChar, 50).Value = textBox2.text 
     Return cmd.ExecuteScalar().ToString() 
End Using 
相關問題