Sql 如何在多输入表单中只输入一个输入来检索数据?

Sql 如何在多输入表单中只输入一个输入来检索数据?,sql,asp.net,database,forms,visual-studio-2012,Sql,Asp.net,Database,Forms,Visual Studio 2012,我在Visual Studio 2012中使用表单字段检索数据时遇到问题 以下代码是我创建的表单: <form> <div class="searchForm"> <p class="insideFormTitle">Symbol:</p> <input class="insideFormInput" type="text" name="symbol" autofocus

我在Visual Studio 2012中使用表单字段检索数据时遇到问题

以下代码是我创建的表单:

<form>
            <div class="searchForm">
            <p class="insideFormTitle">Symbol:</p>
            <input class="insideFormInput" type="text" name="symbol" autofocus/>
            <p class="insideFormTitle">First Name:</p>
            <input class="insideFormInput" type="text" name="firstName"/>
            <p class="insideFormTitle">Surname:</p>
            <input class="insideFormInput" type="text" name="surname"/>
                <br /><input type="submit" value="Search" style="font-size:26px;">
            </div>
        </form>
这意味着我需要输入所有三个参数才能检索数据。如果我只输入输入,例如Symbol,则不会输出任何内容

我只是一个网络开发新手,真的不知道如何在互联网上搜索答案


无论如何,谢谢你的回答

欢迎来到精彩的web开发世界!:

我对VS数据源向导不太熟悉,但我在一些使用参数化查询和一些可选参数的代码中看到的做法是,还将参数与空字符串进行比较,以便在用户未输入任何内容时不会进行过滤

SELECT * FROM [Portfolio] WHERE (([Symbol] = ? OR '' = ?) AND ([First Name] = ? OR '' = ?) AND ([surname] = ? OR '' = ?))

您必须将用户的每个输入传递两次到查询中,但我相信这就是您要寻找的逻辑,即,您希望显示与用户输入的所有输入匹配的记录。

我很久没有使用Visual Studio了,但您不能在生成查询后编辑它吗?当然,它允许您编辑它。因为上面的查询是您想要的,所以只需要删除两个AND部分。语句有两个AND,当我创建它时。你是说我应该写这样的东西吗?选择命令=从[Portfolio]中选择*,其中[Symbol]=?[名字]=?[姓]=?我需要在中间添加一些东西吗?你所需要的只是检索符号,所以你需要的是从[组合]中选择[符号] =。但是检索符号只是一个例子,我也想在不输入符号和姓氏的情况下检索名字,并且想检索姓氏而不输入符号和第一NAMEI看。那么您有两个选项,或者使用[Portfolio]中的SELECT*,这样无论输入的值是什么,都会检索所有值,猜测您不想这样做。或者,您必须实现一些逻辑,即if/else语句,以便在只输入符号值的情况下,从[Portfolio]中选择*,其中[symbol]=?然后类似地,对于其他备选方案,即如果只输入firstname
SELECT * FROM [Portfolio] WHERE (([Symbol] = ? OR '' = ?) AND ([First Name] = ? OR '' = ?) AND ([surname] = ? OR '' = ?))