Sql 在asp.net中基于用户输入搜索数据库的特定列
我正在根据几个用户指定的值进行搜索。其中之一是类别。我有一个名为Sql 在asp.net中基于用户输入搜索数据库的特定列,sql,asp.net,vb.net,Sql,Asp.net,Vb.net,我正在根据几个用户指定的值进行搜索。其中之一是类别。我有一个名为Other的类别,当我选择一个类别进行搜索时,其余类别只是固定的列表项,然后匹配类别的行将显示出来。但是如果是Other,我想显示数据库列中的所有类别,除了那些固定的列表项。无论何时选择这些固定列表项,都将显示它们。我希望我把问题说清楚了。以下是我的搜索查询和条件部分: Dim strSearch1 As String = ddlStatus.SelectedItem.Text Dim strSearch2 As String =
Other
的类别,当我选择一个类别进行搜索时,其余类别只是固定的列表项,然后匹配类别的行将显示出来。但是如果是Other
,我想显示数据库列中的所有类别,除了那些固定的列表项。无论何时选择这些固定列表项,都将显示它们。我希望我把问题说清楚了。以下是我的搜索查询和条件部分:
Dim strSearch1 As String = ddlStatus.SelectedItem.Text
Dim strSearch2 As String = ddlCategory.SelectedValue
Dim strSearch3 As String = ddlAge.SelectedValue
Dim strSearch4 As String = txtCommunity.Text
sqlString = "SELECT id, name, community, age, category, status "
sqlString &= "FROM feedback WHERE (id > 0) "
If strSearch1.ToString() <> "" Then
sqlString &= "AND (status = '" + strSearch1.ToString() + "')"
End If
我在下拉列表中有固定的项目列表。例如:通用、体系结构、字段等。我的问题是,如果我从列表中选择“其他”,我不知道如何获得一些不在下拉列表中的其他随机类别
如果可能的话,我将非常感谢您的建议或任何解决方案。如果您想排除类别,则需要添加AND not条件。您必须对每个项目重复此操作,或者可以编写一个循环来解决所有这些问题 范例
If strSearch2.ToString() <> "Other" Then
sqlString &= "AND (category NOT 'ExampleItem')"
End If
如果strearch2.ToString()“其他”,则
sqlString&=“和(类别不是‘ExampleItem’)”
如果结束
好吧,我看到了一些代码和您希望发生的事情的陈述。我没有看到的是对您遇到的问题的描述。您真的应该在查询中使用SQL参数:网站总是被探测SQL注入漏洞。我在帖子中添加了几行。希望我现在说清楚了。
If strSearch2.ToString() <> "Other" Then
sqlString &= "AND (category NOT 'ExampleItem')"
End If