我的动态查询
昨天在做毕业设计的过程中有一个动态查询的功能让我困惑了很长时间,主要还是sql不知道怎么拼,最后想到了一种感觉不是很好的办法,但是解决了我的问题,今天帖出来,想让各位看看,你们在工作中是怎么解决类似问题的,谢谢!

在不输入任何数据的情况下,点击查询后可以搜索出所有的记录,若输入任何一个条件,则只查询出符合条件的记录,代码如下:

在不输入任何数据的情况下,点击查询后可以搜索出所有的记录,若输入任何一个条件,则只查询出符合条件的记录,代码如下:
1
protected void Button1_Click(object sender, EventArgs e)
2
{
3
string name = "";
4
string sex = "";
5
string address = "";
6
if (txtaddress.Text.Length > 0)
7
{
8
address = " gaddress like '" + "%"+"'+'"+txtaddress.Text+"'+'"+"%'";
9
}
10
else
11
{
12
address = " 1=1 ";
13
}
14
if (txtname.Text.Length > 0)
15
{
16
name = "gname = '" + txtname.Text + "'";
17
}
18
else
19
{
20
name = " 1=1 ";
21
}
22
if (ddlsex.SelectedIndex != 0)
23
{
24
sex = " gsex = '" + ddlsex.SelectedValue.ToString() + "'";
25
}
26
else
27
{
28
sex = " 1=1";
29
}
30
string where = name + " and "+sex+" and "+address;
31
string sql = "select * from guest where " + where;
32
SqlConnection conn = new SqlConnection("server=.;uid=sa;database=Test");
33
SqlDataAdapter dap = new SqlDataAdapter(sql, conn);
34
DataTable dt = new DataTable();
35
dap.Fill(dt);
36
GridView1.DataSource = dt;
37
GridView1.DataBind();
38
}

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具