c# - SQL复杂数据搜索查询

标签 c# sql sql-server-2008

我正在使用 C# .NET。

我有 3 个字段(文本框)txtName、txtSirname、txtLocation。

我的数据库表是

Name      | Sirname  | Location

Steve     | Jobs     | US
Kevin     | Peterson | UK
Haechelle | Gibbs    | South Africa

我有一个搜索按钮。单击搜索按钮时,我想根据文本框ex显示所有结果。

但是

如果所有文本框都是空的,我想显示整个表格。 如果姓名为空,则应根据姓名和地点显示结果。 如果 sirname 为空,则应根据姓名和地点显示结果。 如果 name 和 sirname 为空...以及所有可能的组合。

我的问题是我不能在 C# 中使用 if 语句。我必须只在一个 SQL 查询中编写它。我该怎么办。请指导我。

最佳答案

使用

WHERE     
    ([Name] = @name OR @name IS NULL) OR
    ([Sirname] = @sirname OR @sirname IS NULL) OR
    ([Location] = @location OR @location IS NULL)

如果您的文本框为空,请将 NULL 作为查询/存储过程中的参数值传递。

关于c# - SQL复杂数据搜索查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13542044/

相关文章:

c# - 线程与并行性能

c# - dllimport 如何在非托管 dll 中获取哪个应用程序调用的函数

mysql - 如何在数据库中存储 5MB 文件预览

sql-server - SQL Server 大型日志文件

c# - 尝试连接到sql数据库时出现权限错误

c# - .NET 字节数组 COM 转换问题

c# - 使用 AJAX 动态加载 ASCX 控件

mysql - 多种数据类型的表ID

java - 在没有大量查询的情况下,在 where 子句中使用 ArrayList 中的值?

sql-server - 使用 SQL Server 比较日期