asp.net gridview使用参数查询到as400

asp.net gridview使用参数查询到as400,gridview,sqldatasource,ibm-midrange,Gridview,Sqldatasource,Ibm Midrange,我试图通过将会话变量中存储的数据(从文本框收集)中的值传递给参数,从而将as400数据检索到gridview中。如果我硬连线查询选择,它可以正常工作,但尝试传递参数会出现错误:SQL0206:Column@myParm不在指定的表中 使用SQL Server中的表时,我没有遇到此错误。这是可能的,还是我应该采取另一种方法?如有任何建议,我们将不胜感激 <asp:SqlDataSource ID="SqlAS400" runat="server" ConnectionString=

我试图通过将会话变量中存储的数据(从文本框收集)中的值传递给参数,从而将as400数据检索到gridview中。如果我硬连线查询选择,它可以正常工作,但尝试传递参数会出现错误:SQL0206:Column@myParm不在指定的表中

使用SQL Server中的表时,我没有遇到此错误。这是可能的,还是我应该采取另一种方法?如有任何建议,我们将不胜感激

<asp:SqlDataSource ID="SqlAS400" runat="server" 
    ConnectionString="<%$ ConnectionStrings:conAS400 %>" 
    ProviderName="<%$ ConnectionStrings:conAS400.ProviderName %>" 

 SelectCommand="SELECT field1, field2 FROM MYLIB.MYFILE WHERE field1 = 'ABC'"> works fine

 SelectCommand="SELECT field1, field2 FROM MYLIB.MYFILE WHERE field1 = @myParm "> fails

   <SelectParameters>
    <asp:SessionParameter Name="myParm" SessionField="gMyParm" Type="String" />
   </SelectParameters>

</asp:SqlDataSource>
工作正常
SelectCommand=“从MYLIB.MYFILE中选择field1、field2,其中field1=@myParm”>失败

我不确定如何连接到AS400,但我认为IBM ODBC驱动程序不支持命名参数。您必须将
改为按正确的顺序传递参数。

非常感谢!这个成功了。顺便说一句,am使用OLEDB连接