我一直在拉我的頭髮,試圖弄清楚我無法獲取參數在我的查詢中工作。我有用VB.NET編寫的代碼嘗試對AS/400執行查詢。我安裝了IBM Access for Windows,並且我能夠使查詢正常工作,而不是使用參數。任何時候我在查詢中包含參數(例如@MyParm)都不起作用。這就像它不會用它應該的值來替換參數。這裏是我的代碼:在.NET中使用OLEDB參數連接到AS400/DB2時
我收到以下錯誤: SQL0206:列@MyParm不是在指定的表
這裏是我的代碼:
Dim da As New OleDbDataAdapter
Dim dt As New DataTable
da.SelectCommand = New OleDbCommand
da.SelectCommand.Connection = con
da.SelectCommand.CommandText = "SELECT * FROM MyTable WHERE Col1 = @MyParm"
With da.SelectCommand.Parameters
.Add("@MyParm", OleDbType.Integer, 9)
.Item("@MyParm").Value = 5
End With
' I get the error here of course
da.Fill(dt)
我可以用文字的5更換@MyParm和它工作正常。我在這裏錯過了什麼?我一直在用SQL Server來做這件事,但這是我第一次在AS400上嘗試它。
我不得不說這個問題與http://stackoverflow.com/questions/493119/as400-sql-query-with-parameter具有驚人的相似性,但我不熟悉問題域標記爲重複。 – spender 2010-03-24 22:12:18