Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 选择条件中的参数-传递参数_C#_Asp.net_Sql Server - Fatal编程技术网

C# 选择条件中的参数-传递参数

C# 选择条件中的参数-传递参数,c#,asp.net,sql-server,C#,Asp.net,Sql Server,我的.aspx文件中有以下内容 <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:KrySQL %>" OnSelecting="DataSourceSelecting" SelectCommand="Select ID, RoomNum from [dbo].[MBiology] WHERE LocId IN @LocId"

我的
.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”附近的语法不正确


很遗憾,您不能这样做:.NET不允许您在单个SQL参数中传递整个列表

有两种方法可以实现您的需求:

  • 为列表中的
    成员动态生成单个参数,或
  • 使用(需要能够更改数据库架构以添加类型)
SqlDataSource1.SelectParameters["LocID"].DefaultValue = "(" + valint.ToString() + ")";