我一直在拉我的头发试图弄清楚我的查询无法获取参数。我有用VB.NET编写的代码试图对AS / 400进行查询。我安装了IBM Access for Windows,我可以让查询工作,而不是参数。每次我在查询中包含一个参数(例如@MyParm)它都不起作用。它就像它不会用它应该的值替换参数。这是我的代码:
我收到以下错误: 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上尝试它。
答案 0 :(得分:1)
你是对的,同样的问题是AS400 SQL query with Parameter,其中包含解决方案。
答案 1 :(得分:1)
注意:Host Integration Server 2006支持命名参数。