我想实现一个多条件查询,例如:http://www.cdzfw.com 左侧那个 房屋查询 栏。    当只选择了查询类别为"房屋出租",点"查询"按钮后就列出所有类别为"房屋出租"的房屋;当选择了查询类别为"房屋出租"和区域为"金牛区"后,返回所有类别为"房屋出租"并且所在区域为"金牛区"的房屋。    现在的问题是:
        1.我不知道该如何写这个[查询条件个数不定]的SQL语句?
              如果用户只选择了查询类别,那SQL语句应为:select * from fangwu where 查询类别='房屋出租'
              如果用户即选择了查询类别又选择了区域,则SQL语句又为:select * from fangwu where 查询类别='房屋出租' and 区域='金牛区'              如果用户又选择了其它的,则SQL语句又会不同;          请问该如何写这个查询语句?         2.要把这个查询写成 房屋类 的一个方法,请问这个方法的传入参数是什么?
          eg: fangwu.Search(参数......该如何写?);
        
      

解决方案 »

  1.   

    条件组合而已
    假如这个是个下拉列表string Fiter=String.Empty;Fiter="SELECT *** FROM 表 WHERE ";
    if(DropDataList1.SelectIndex!=0)
    {
     Fiter = Fiter + "TypeID1=" + DropDataList1.SelectValue  + " AND ";
    }
    if(DropDataList2.SelectIndex!=0)
    {
     Fiter = Fiter + "TypeID1=" + DropDataList2.SelectValue + " AND ";
    }if(!string.IsNullOrEmpty(TextBox1.Text))
    {
      Fiter = Fiter + "TypeText3 LIKE '%" + TextBox1.Text "%' + " AND ";
    }
    Fiter = Fiter + " 1=1 ";
    就这样可以了。
      

  2.   

    string myCodiction=" where 1=1";
    if(dropdowlist1.SelectIndex!=0)
    {
     myCodiction=myCodiction+" condiction='"+dropdowlist1.Text+"'"+" and ";
    }
    .
    .
    .
    .
    mySql="select * from table"+myCodiction