我的.aspx
文件
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:KrySQL %>" OnSelecting="DataSourceSelecting"
SelectCommand="Select ID, RoomNum from [dbo].[MBiology] WHERE LocId IN @LocId" >
<SelectParameters>
<asp:Parameter Name="LocId" />
</SelectParameters>
</asp:SqlDataSource>
我的目标是传递逗号分隔列表或@LocId
在我的代码中,我有以下内容:
SqlDataSource1.SelectParameters["LocID"].DefaultValue = "(" + valint.ToString() + ")";
我认为这应该有效,因为我有括号和所有。
我收到以下错误消息:
'@LocId'附近的语法不正确
答案 0 :(得分:1)
不幸的是,你不能这样做:.NET不允许你在一个SQL参数中传递整个列表。
有两种方法可以实现您的需求:
IN
列表成员的个别参数,或