asp.net gridview使用参数查询as400

问题描述:

我试图通过传递值到参数从存储在会话变量,从文本框中收集的参数检索as400数据到gridview。如果我硬连线查询选择,它工作正常,但试图通过帕尔米计给出错误:SQL0206:列@myParm不在指定的表中。asp.net gridview使用参数查询as400

从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> 

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

+0

非常感谢!这个?诀窍。顺便说一句,我正在使用OleDBConnection – user457678 2010-09-27 15:00:11