SQLDataSource 参数不起作用
SQLDataSource Parameter not working
我有以下 SQL数据源:
<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 它工作正常。
SELECT DISTINCT [Team] FROM [Locations] WHERE ([Team] IN (@Teams))
这只会 return 1 个结果。您需要提及所有条件,例如
SELECT DISTINCT [Team] FROM [Locations] WHERE ([Team] IN (@Team1,@Team2,@Team3))
这可能是因为您的字符串中存在转义字符 (')。
尝试在变量字符串前添加一个 @ 符号:
MySqlDataSource.SelectParameters["Teams"].DefaultValue = @"'Team 1','Team 2'";
我有以下 SQL数据源:
<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 它工作正常。
SELECT DISTINCT [Team] FROM [Locations] WHERE ([Team] IN (@Teams))
这只会 return 1 个结果。您需要提及所有条件,例如
SELECT DISTINCT [Team] FROM [Locations] WHERE ([Team] IN (@Team1,@Team2,@Team3))
这可能是因为您的字符串中存在转义字符 (')。
尝试在变量字符串前添加一个 @ 符号:
MySqlDataSource.SelectParameters["Teams"].DefaultValue = @"'Team 1','Team 2'";