我正在尝试通过将值传递给存储在会话变量中的数据中的参数来将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>
答案 0 :(得分:1)
我不确定您如何连接到AS400,但我认为IBM ODBC驱动程序不支持命名参数。您必须改为放置?
,并按正确的顺序传递参数。