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

时间:2010-09-24 20:21:43

标签: gridview sqldatasource ibm-midrange

我正在尝试通过将值传递给存储在会话变量中的数据中的参数来将as400数据检索到gridview中,这些数据是从文本框中收集的。如果我硬连线查询选择,它工作正常,但尝试通过parmameter给出错误:SQL0206:列@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>

1 个答案:

答案 0 :(得分:1)

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