Asp.net 单个搜索文本框中有多个搜索ID

Asp.net 单个搜索文本框中有多个搜索ID,asp.net,Asp.net,我有一个单独的搜索文本框,我想在其中输入至少20个员工ID,以句号或逗号分隔,然后从表中查找员工姓名,并在Gridview中填充所有匹配的员工姓名。在这方面有什么有用的链接或建议吗 假设您有一个存储过程,该存储过程接受一个名为@EmployeeIds的参数,并且已检查了传递给服务器代码和存储过程的CSV列表,那么在where子句中放入: WHERE ',' + @EmployeeIds + ',' LIKE '%,' + RTRIM(LTRIM(EmployeeID)) + ',%' 你没有提

我有一个单独的搜索文本框,我想在其中输入至少20个员工ID,以句号或逗号分隔,然后从表中查找员工姓名,并在Gridview中填充所有匹配的员工姓名。在这方面有什么有用的链接或建议吗

假设您有一个存储过程,该存储过程接受一个名为@EmployeeIds的参数,并且已检查了传递给服务器代码和存储过程的CSV列表,那么在where子句中放入:

WHERE ',' + @EmployeeIds + ',' LIKE '%,' + RTRIM(LTRIM(EmployeeID)) + ',%'

你没有提供任何关于桌子的细节。那是SQL数据库还是其他什么?你需要什么?SQL查询?你应该提供更多关于你的情况和你尝试过的东西的细节。检查一下。这是一个SQL数据库,我相信我们在存储过程中的输入参数将是相同的@EmployeeID,而不管我们传递的搜索字符串的数量如何,我确实有查询。。了解更多关于代码背后的信息会很有帮助…基于一个EmployeeID搜索一个员工姓名会更容易,但我不知道如何实现多个。您使用的是什么DBMS?有了SQL server,您可以使用动态SQL,所以您可以将整个列表作为nvarchar传递,并在([您传递的列表])中使用EmployeeID。从代码隐藏中,您可以拆分ID列表,并使用foreach调用过程和填充数据。不确定要以何种方式执行此操作?请参阅参数应为
@EmployeeIds
@EmployeeIdList
。否则,它将具有误导性。当然,if应该是
varchar
而不是
int
。顺便说一句,
EmployeeID
应该是一个
int
,为什么要修剪?修剪会删除数据输入过程中可能错误添加到文本中的任何空白。我给您的where子句允许您将csv列表传递到存储过程中,并将其与员工ID匹配。是的,我理解这一点。但是,DB字段应该是一个
int
,因此不能对其进行修剪。应该始终正确设置数据库中的ID。如果出于某种原因,它们是
varchar
,那么它们周围肯定不会有任何奇怪的空格。你仍然需要编辑第一句中的“@EmployeeId”。海报上从来没有提到列数据类型。如果它是int,则删除trims并将其转换为varchar。