<asp:SqlDataSource ID="SqlDataSource1" runat="server"ConnectionString="<%$ ConnectionStrings:ABCConnectionString %>" SelectCommand="SELECT * FROM [Data] WHERE ([ActivityName] IN (@ActivityName)) AND ([ID] = @ID)" > <SelectParameters> <asp:ControlParameter ControlID="DropDownList_ID" Name="ID" PropertyName="SelectedValue" Type="Int32" /> <asp:ControlParameter ControlID="LabelHidden" Name="ActivityName" Type="String" /> </SelectParameters> </asp:SqlDataSource>
The variable 'LabelHidden' contains a string of values generated from the selected values in the dropdown list: for example: "'PT Support', 'Tools Development'"
Manually, the sql query would run like this, for example:
SELECT * FROM [Data] WHERE ([ActivityName] IN ('PT Support', 'Tools Development')) AND ([ID] = 4)
It runs correctly when I use this query in SQL Management Studio, but will not run correctly from within my SQLDataSource1.
When I do a trace, returns
exec sp_executesql N'SELECT * FROM [Data] WHERE ([ActivityName] IN (@ActivityName)) AND ([ID] = @ID)',N'@ID int,@ActivityName nvarchar(51)',@ID=4,@ActivityName=N'''PT Support'', ''Tools Development'''