我在Access 2007中有一個非常簡單的數據庫,我使用VB 2010連接到它。有兩個表,MenuItems和Orders,Orders.orderDate是鍵入「日期」。參數缺失ExecuteNonQuery命令,在VB.NET和Access中使用
我跑在我的VB形式之一下面的代碼(在連接字符串和其他一切是罰款):
sql = "SELECT OrderDate, MenuItem FROM MenuItems, Orders WHERE Orders.itemID = MenuItem.ID AND Orders.orderDate BETWEEN '" + fromDate + "' AND '" + toDate + "'"
Dim cmd As New OleDb.OleDbCommand(sql, con)
Dim count As Integer = cmd.ExecuteNonQuery()
但我得到一個錯誤:
System.Data.OleDb.OleDbException (0x80040E10): value wan't given for one or more of the required parameters
沒有似乎失蹤了。我用另一個查詢使用相同的代碼,除了sql是不同的。但我認爲我的sql很簡單。下面是在一個實例生成的SQL(我仔細檢查過,所有的表和列名是正確的):
SELECT OrderDate, MenuItem From MenuItems, Orders WHERE Orders.itemID = MenuItem.ID AND Orders.orderDate BETWEEN '11/21/2012' AND '11/24/2012'
MS Access中的日期分隔符是#觀看了現場問題的日期執行該命令,以及。 – Fionnuala
你的意思是它應該是SELECT OrderDate,MenuItem從MenuItems,Orders WHERE Orders.itemID = MenuItem.ID AND Orders.orderDate BETWEEN#11/21/2012#和#11/24/2012#?我試過了,沒有區別。 – user961627
此外,選擇不是非查詢,它不返回一個整數。它返回一個記錄集。 – Fionnuala