小第想问个查询问题
页面上有4个文本框(也是四个查询的条件)分别是txt_UserName,txt_id,txt_pdd,txt_qdd
select语句前段是select * from 表名 where
where的条件根据文本框不同也不相同
比如只有:txt_UserName里有值
select * from 表名 where UserName=+txtUserName
当txt_UserName有值txt_pdd也有值
select * from 表名 where UserName=+txtUserName+ and pdd=+txt_pdd
请各位达人我该怎么根据框里有没有值来拼接select语句啊!~
我急!~!~
谢谢有答案马上给分
有完整的代码更好
谢谢大家了

解决方案 »

  1.   


    string strwhere="select * from 表名 where 1=1 "
    if(txt_UserName.Text.Trim()!="")
    {
       strwhere+=" and UserName like '%"+txt_UserName.Text.Trim()+"%'";
    }
      

  2.   


    string strWhere="select * from 表名 where 1=1 ";
            if (!string.IsNullOrEmpty(txt_UserName.Text.Trim()))
            {
                strWhere += " and UserName='" + this.txt_UserName.Text.Trim() + "' ";
            }
    同理把剩下的3个项加上就可以了!
      

  3.   

    string sql="select * from 表名 ";
    string sqlwhere = "where 1=1 "
    if(txt_UserName.Text.Trim()!="")
    {
       sqlwhere +=" and UserName like '%"+txt_UserName.Text.Trim()+"%'";
    }
    if(..)
    {
    .....
    }最终用sql+sqlwhere即可.
      

  4.   

    string strSql = "";
    if(txt_UserName.text!="")
      strSql = strSql + " and username = '"+txt_UserName.text+"'";
    if(txt_id.text!="")
      strSql = strSql + " and id= '"+txt_id.text+"'";
    if(txt_pdd.text!="")
      strSql = strSql + " and pdd= '"+txt_pdd.text+"'";
    if(txt_qdd .text!="")
      strSql = strSql + " and qdd= '"+txt_qdd .text+"'";if (strSql!=""){
      strSql = strSql.Substring(4);
      strSql="select * from tablename where "+strSql;
    }
    else{
      strSql="select * from tablename";
    }
      

  5.   

    string sSQL="select * from 表 where 1=1"; 
    if(txt_UserName.Text.Trim()!="") 

      sSQL+=" and UserName like '%"+txt_UserName.Text.Trim()+"%'"; 

    if(txt_id.Text.Trim()!="") 

      sSQL+=" and id like '%"+txt_id.Text.Trim()+"%'"; 

    if(txt_pdd.Text.Trim()!="") 

      sSQL+=" and pdd like '%"+txt_pdd.Text.Trim()+"%'"; 

    if(txt_qdd.Text.Trim()!="") 

      sSQL+=" and qdd like '%"+txt_qdd.Text.Trim()+"%'"; 
    }
      

  6.   

    string strwhere="select * from 表名 where 1=1 ";
    if(txt_UserName.Text.Trim()!="") 

        strwhere+=" and UserName like '%"+txt_UserName.Text.Trim()+"%'"; 
    }
    ............
    这种方法不错
      

  7.   

    string sFilter=string.Empty;
    sFilter+=txt_UserName.Text.Trim()=="" ?" " :" and name like '%"+txt_UserName.Text.Trim()+"%' " ;
    sFilter+=txt_id.Text.Trim()=="" ?" ":" and txt_id="+txt_id.Text.Trim()+" ";
    .....//后面的条件一样
    ....
    string sql=string.Format("select * from 表名 where 1=1 {0} ",sFilter);
      

  8.   

            public DataTable searchproductlist(int type_1, int type_2, string productname, string price_1, string price_2)
            {
                StringBuilder sb = new StringBuilder();
                List<SqlParameter> list = new List<SqlParameter>();
                sb.Append("SELECT Products.*, Type_2.typename AS typename_2, Type_1.typename AS typename_1 ");
                sb.Append("FROM Products, Type_2, Type_1 ");
                sb.Append("WHERE Products.TypeID_2=Type_2.TypeID_2 and Type_2.TypeID_1=Type_1.TypeID_1");
                if (type_1 != 0)
                {
                    sb.Append(" and Type_2.TypeID_1=@TypeID_1 ");
                    list.Add(DBHelper.GetParameter("@TypeID_1", SqlDbType.Int, 4, "Type_2.TypeID_1", type_1));
                }
                if (type_2 != 0)
                {
                    sb.Append(" and Type_2.TypeID_2=@TypeID_2");
                    list.Add(DBHelper.GetParameter("@TypeID_2", SqlDbType.Int, 4, "Type_2.TypeID_2", type_2));
                }
                if (productname != "")
                {
                    sb.Append(" and Products.ProductName like '%' + @ProductName + '%'");
                    list.Add(DBHelper.GetParameter("@ProductName", SqlDbType.NVarChar, 50, "Products.ProductName", productname));
                }
                if (price_1 != "" && price_2 != "")
                {
                    sb.Append(" and Products.Price between @Price_1 and @Price_2");
                    list.Add(DBHelper.GetParameter("@Price_1", SqlDbType.Money, 8, "Products.Price", double.Parse(price_1)));
                    list.Add(DBHelper.GetParameter("@Price_2", SqlDbType.Money, 8, "Products.Price", double.Parse(price_2)));
                }            return DBHelper.ExecuteDt(sb.ToString(), list.ToArray());
            }抢分了。
      

  9.   


    string strCmd = "select * from 表名 where 1=1 "; if(txt_UserName.Text.Trim()!="") 

    strCmd += " and UserName="+txtUserName.Text ; 

    if(txt_id.Text.Trim()!="") 

    strCmd += " and id="+txt_id.Text ; 

    if(txt_pdd.Text.Trim()!="") 

    strCmd += " and pdd="+txt_pdd.Text ; 

    if(txt_qdd.Text.Trim()!="") 

    strCmd += " and qdd="+txt_qdd.Text ; 

      

  10.   

    string strSql = "";
    if(txt_UserName.text!="")
      strSql = strSql + " and username = '"+txt_UserName.text+"'";
    if(txt_id.text!="")
      strSql = strSql + " and id= '"+txt_id.text+"'";
    if(txt_pdd.text!="")
      strSql = strSql + " and pdd= '"+txt_pdd.text+"'";
    if(txt_qdd .text!="")
      strSql = strSql + " and qdd= '"+txt_qdd .text+"'";if (strSql!=""){
      strSql = strSql.Substring(4);
      strSql="select * from tablename where "+strSql;
    }
    else{
      strSql="select * from tablename";
    }
    支持一下!