如何将此信息传递给SQL Server 2008?
请访问http://www.stumbleupon.com/如何将此信息传递给SQL Server 2008?
它会问你有什么兴趣。
我会在我的网站上有类似的事情,除非我需要有4个这样的不相同的块。当用户没有选择某个部分中的任何内容时,表示他/她已经选择了全部内容。其中1个块将有大约10个选项,而其他3个块每个都有2-3个选项。
如何将用户选择的所有内容传递给SQL Server 2008?请注意,我将有4组多个参数,这4组基本上是4行中的所有包含整数id的列。当且仅当通过一个参数时,我会做类似
select * from table where column1 = @ param1,column2 = @ param2等等。
但事实并非如此,因为用户可以为@ param1传递多个值等等。
我可以做到这一点,但我想知道最有效的方法。
如果我的帖子不清楚,请让我知道。编辑: 基本上,如果我在数据库中存储文章,我有4行,每个整数的列。我想根据这4列来查询这些文章,但是我们需要传递这些列的多个值,而不是每列只有一个值。
如果您的客户端语言支持的话,你应该看看表值参数:
http://www.sqlteam.com/article/sql-server-2008-table-valued-parameters
,如果你不能使用这些,看看一个关于数组和列表中TSQL:
http://www.sommarskog.se/arrays-in-sql.html
这是动态搜索条件TSQL一个非常全面的清单:
http://www.sommarskog.se/dyn-search.html
这也可以帮助:
Sane/fast method to pass variable parameter lists to SqlServer2008 stored procedure
尝试将所有参数值转储到XML中,然后将其传递给SQL Server,然后在查询中解析它。
不会在此情况下,这样的查询工作?
SELECT *
FROM TABLE
WHERE COLUMN1 IN (@param11, @param12, @param13)
AND COLUMN2 IN (@param21, @param22, @param23)
等等。