【问题标题】:Dynamically create new field search group with multiple filter fields动态创建具有多个过滤字段的新字段搜索组
【发布时间】:2012-04-03 23:37:37
【问题描述】:

我进行了搜索,但找不到与我需要的类似的东西,因此我将感谢您的帮助。 我有一个 aspx 页面,我想根据用户请求动态创建新的文本框字段(这是简单的部分)。用户可以请求任意数量的字段,因为它们将用于过滤 SQL 服务器表。长话短说,该表有 23 列,用户可以为每列创建多个文本框,以便一般 SQL 查询将根据他将在这些文本框中输入的文本进行搜索。 例如 - 用户可以选择“类型”字段并创建 3 个文本框,他将在第一个输入“b”,第二个输入“c”,第三个输入“e”,因此查询看起来像这样:

SELECT *
FROM table_name
WHERE type like '%b%' or type like '%c%' or type like '%e%'

我希望你能理解我在寻找什么, 任何帮助都会很棒...

【问题讨论】:

  • 问题是什么?你如何从文本框中创建 sql 查询?
  • 嗨贾斯汀,问题是如何从文本框中创建 SQL 查询,但我需要添加另一个问题。我可以为每个标题处理不同数量的过滤器(=文本框)。下面是一个解释示例:用户为类型列选择 3 个过滤器('a'、'b'、'e') 为名称列选择 2 个过滤器('shak'、'justin'),为暂停的列选择另外 1 个('是')所以我得到了不同数量的文本框,我需要创建这些文本框,而不是用于我的 SQL 查询。

标签: c# asp.net sql


【解决方案1】:

为每个循环使用所有相关的文本框。在那里,您可以创建 SQL 查询并为用户创建的任何文本框添加 or type like '%X%' 块。这样 SQL Query 将始终具有or type like '%c%' 的动态计数

【讨论】:

  • 嗨 Hagbart,我会试试看,如果能解决我的问题,请告诉您。谢谢
  • 你好@Jaime,我理解 Hagbart 的回答,但现在我在运行时创建这些文本框时遇到了问题。用户有两个可以按下的选项。将根据列名创建更多过滤器选项(意味着 SQL 查询将查找“WHERE column_name like '%xxx%') - 每列将有自己的行,并且使用下拉列表完成列名的选择可能的列名。
  • 另一个选项是为每列添加更多搜索过滤器选项(这意味着 SQL 查询将类似于“WHERE column_name like '%xxx%' or column_name like '%yyy'%' or column_name like ' %zzz%' 等)你能建议正确的方法吗?再次感谢
猜你喜欢
  • 2016-11-07
  • 1970-01-01
  • 1970-01-01
  • 2015-11-19
  • 1970-01-01
  • 2011-02-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多