C# 使用多个文本框搜索数据库Asp.net

C# 使用多个文本框搜索数据库Asp.net,c#,sql-server,stored-procedures,C#,Sql Server,Stored Procedures,我有一个使用textbox从数据库中提取数据的存储过程。然而,我添加了另一个文本框,这也给了他们另一个选择来提取相同的数据。用户可以使用id号或地址进行搜索。但是,假设我在id文本框中输入数据,并将地址文本框留空,以提取所有记录;不是基于输入的id号的记录;但是,如果我将id文本框留空并输入address文本框,它将返回所需的一条记录 存储过程 select id, name, age, address, telephone where WHERE id= @id OR ISNULL(

我有一个使用textbox从数据库中提取数据的存储过程。然而,我添加了另一个文本框,这也给了他们另一个选择来提取相同的数据。用户可以使用id号或地址进行搜索。但是,假设我在id文本框中输入数据,并将地址文本框留空,以提取所有记录;不是基于输入的id号的记录;但是,如果我将id文本框留空并输入address文本框,它将返回所需的一条记录

存储过程

select id, name, age, address, telephone where 
  WHERE id= @id
  OR ISNULL(@id, '') = '' and address= @address
  OR ISNULL(@address, '') = ''
你需要括号:

SELECT id, name, age, address, telephone 
WHERE ( ISNULL(@id, '') = '' AND ISNULL(@address, '') = '' )
  OR  ( ISNULL(@id, '') = '' AND address = @address )
  OR  ( ISNULL(@address, '') = '' AND id = @id )
  OR  ( id = @id AND address = @address )

我试过你的答案;但是,如果我输入与之配套的id和地址。它不会返回在您编辑之前实际得到的任何结果,但是谢谢