Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 在asp.net中基于用户输入搜索数据库的特定列_Sql_Asp.net_Vb.net - Fatal编程技术网

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