我一直在拉我的头发,试图弄清楚我无法获取参数在我的查询中工作。我有用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