动态SQL语句的新增功能

ali*_*ali 5 c# sql asp.net dynamic-sql visual-studio-2010

我目前正在使用ASP.NET框架在Visual Studio 2010中使用C#在网站上创建一个非常简单的WebApp.

该网站将连接到我的笔记本电脑上运行的SQL EXPRESS服务器(全部基于本地)

我有一个表定义如下

CREATE TABLE Users(
 userName varchar(50),
 email varchar(50),
 firstName varchar(50),
 lastName varchar(50),
 gender varchar(50),
 birthday date,
 age int,
 location varchar(50),
 gname varchar(50)
 PRIMARY KEY (userName, email))
GO
Run Code Online (Sandbox Code Playgroud)

现在,我的网站上有一个名为Users的页面.注意:gname表示组名(即用户加入兴趣组.)

在这里,我有一个看起来像这样的表单:

UserName:
Gender:
Age:
GroupName:
Location:
Run Code Online (Sandbox Code Playgroud)

现在,这意味着我有5个不同的字段,因此,我必须为每个不同的情况编写25个SQL语句.我觉得很天真.

我尝试使用谷歌搜索动态SQL语句,这似乎没有解决我的问题(或者至少我不明白他们如何解决我的问题).

任何人都可以指出我正确的方向来学习如何实现足够智能的SQL语句,以根据用户输入的字段生成查询?

向任何可能认为我没有完成我的研究的人道歉,这些事情似乎相当简单.

-Ali

wcm*_*wcm 1

考虑@G\xc3\xb4T\xc3\xb4的代码和下面的SQL的组合

\n\n
select * \nfrom Users u\nwhere   (@username is null or Username like '%'+ @username + '%')\n    AND (@Gender is null or Gender = @gender)\n    AND (@age is null or Age = @age)\n    AND (@gname is null or gname = @gname)\n    AND (@location is null or location = @location)\n
Run Code Online (Sandbox Code Playgroud)\n