[英]Using OLEDB parameters in .NET when connecting to an AS400/DB2
我一直在拉我的头发试图弄清楚我的查询无法获取参数。 我有用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上尝试它。
你是对的,与带参数的AS400 SQL查询相同的问题,其中包含解决方案。
请注意:Host Integration Server 2006支持命名参数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.