我知道我可以通过后面的代码完成此操作(我使用VB),但我认为我应该能够在ASP中执行此操作:sqldatasource。
我想要做的就是选择表中字段值等于页面上隐藏字段值的记录。
在树视图的选定节点更改中,我设置名为NLHF的隐藏字段的值。我在其他地方使用它,所以我知道它按预期工作(设置此值)。问题是我想在SQL select语句中引用这个值,而且我失败了。
有问题的代码是:
<asp:SqlDataSource ID="SupervisorSQLDS" runat="server"
ConnectionString="<%$ myconnectionstring %>"
SelectCommand="SELECT DISTINCT ContactID, DisplayName AS ListItem FROM Contact WHERE LocationID = NLHF ORDER BY ListItem">
</asp:SqlDataSource>
我相信这只是语法......感觉不那么明亮,但是经过几个小时的观察和尝试不同的事情后我放弃了。
感谢您的光临。
答案 0 :(得分:1)
您可以向查询添加参数,因此SQL变为:
SELECT DISTINCT ContactID, DisplayName AS ListItem
FROM Contact
WHERE LocationID = @NLHF
ORDER BY ListItem
然后将ControlParameter绑定到数据源的选择命令
<asp:SqlDataSource ID="SupervisorSQLDS" runat="server"
ConnectionString="<%$ myconnectionstring %>"
SelectCommand="SELECT DISTINCT ContactID, DisplayName AS ListItem FROM Contact WHERE LocationID = @NLHF ORDER BY ListItem">
<SelectParameters>
<asp:ControlParameter Name="NLHF" ControlID="NLHF" PropertyName="Value"/>
</SelectParameters>
</asp:SqlDataSource>