【发布时间】:2015-08-20 08:06:37
【问题描述】:
我有以下 SQLDataSource:
<asp:SqlDataSource runat="server" ID="MySqlDataSource" ConnectionString='<%$ ConnectionStrings:RmaReportingConnectionString %>'
SelectCommand="SELECT DISTINCT [Team] FROM [Locations] WHERE ([Team] IN (@Teams))">
<SelectParameters>
<asp:Parameter Name="Teams" Type="String" />
</SelectParameters>
</asp:SqlDataSource>
在后面的代码中这样调用它:
MySqlDataSource.SelectParameters["Teams"].DefaultValue = "'Team 1','Team 2'";
MySqlDataSource.DataBind();
问题是我没有得到任何结果,我感觉这是由于语法,因为如果我在没有参数的情况下运行原始 SQL,它可以正常工作。
【问题讨论】:
-
我很确定在
IN子句中使用参数是不可能的。我没有回答,因为我不是 100% 肯定的,但这可以解释为什么它可以作为原始 SQL 工作 -
可能,由于 '' 字符。如果不是,那还有什么可以替代的?
标签: sql asp.net sqldatasource