繁体   English   中英

连接到AS400 / DB2时在.NET中使用OLEDB参数

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM