如何在c# /SQL Server环境中返回从多个多选择列表框中剔除的数据

本文关键字:选择 列表 数据 返回 SQL 环境 Server | 更新日期: 2023-09-27 17:54:57

我正在用c#写一个报告,我的报告表单有10个多选择列表框。我在SQL Server中编写了一个存储过程来处理这些数据,但是我有那个旧的"你不能在' in '子句中使用参数"问题。换句话说,在SQL Server中你不能写:

SELECT * FROM MyTable WHERE MyField IN (@MyParam) 

这行不通。所以有人建议使用表值参数。显然,您将参数存储在某种临时表中,然后使用该临时表作为' in '子句的基础。

然而,我从来没有见过一个使用了10次的例子。在那个时候,这还有可能吗?有没有更好的办法?谁能给我一个例子/样例代码在哪里这样做?

如何在c# /SQL Server环境中返回从多个多选择列表框中剔除的数据

使用表值参数将数据发送到存储过程。
您可以使用带有10列的单个参数,每列代表一个列表框,无需为此使用10个参数。只要记住在用户定义的表类型中允许空值。