我的动态查询

昨天在做毕业设计的过程中有一个动态查询的功能让我困惑了很长时间,主要还是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    }
posted @   樊凯  阅读(1341)  评论(13编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· 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工具
点击右上角即可分享
微信分享提示