我需要在SQL Server中执行搜索查询,我需要根据用户输入文本字段过滤数据。 问题是,这个查询需要在多个表上执行(所以我只知道运行时的表列)。像过滤器SQL查询
这是查询我:
SELECT * FROM [BTcegeka.C2M].[dbo].[Lookup_Country] WHERE Name LIke '%test%'
现在的问题是我需要做的每一行的功能一样(我只知道在运行时的列名)在表中。我从ASP.NET网站调用此查询。用户从下拉列表中选择一个表格,然后可以输入搜索字段。
这是我真正要完成的任务:
SELECT * FROM [BTcegeka.C2M].[dbo].[Lookup_Country] WHERE * LIke '%test%'
显然,“凡·赞”失败。我怎样才能做到这一点?
解决方法是在运行时更改列名 - 使用选定的表和搜索字段(并检查名称是否有效且允许的安全性)。 **编辑:**用户选择一列进行搜索,所以如果在所有列中搜索表达式,结果是错误的。 – MacGucky 2011-03-23 12:59:29
为什么你不能使用动态SQL或连接查询字符串呢? – 2011-03-23 13:15:15