先写个sql="select * from form where"
然后拼这个语句,例如
if ((userName == null) || (userName.length() < 1)) {
}else{
sql+= "UserName='"+userName+"' and";
countsql+= "UserName='"+userName+"' and";
}
明白了吧,给分吧

解决方案 »

  1.   

    你是一个form里面有11个文本框,用于用户填数据,然后搜索吗?
    如果是这样sql server数据库可以考虑:
    --模糊查询的方法:
    select * from 表
      where (name like '%'+isnull(@name,'')+'%')
        and (age=@age or isnull(@age,0)=0)
        and (addr like '%'+isnull(@addr,'')+'%')--全匹配的查询方法:
    select * from 表
      where (name=@name or isnull(@name,'')='')
        and (age=@age or isnull(@age,0)=0)
        and (addr=@addr or isnull(@addr,'')='')
    因为Transact_sql自带的isnull方法处理这个比较容易
    把生成的sql 语句传入javabean,而不是传11个参数。
    (个人愚见未经测试仅供参考!)
      

  2.   

    if (str.compareTo("") ==0 )
    sql = sql +"and ....";
      

  3.   

    wwwtom(静隙行风) 的方法很对阿
      

  4.   

    我同意wwwtom(静隙行风)
    這是最簡單的
      

  5.   

    wwwtom(静隙行风)说的没错啊
    这个方法 可行啊
      

  6.   

    谢谢大家了,我已经按照lynx1111的方法实现了,我马上把分给大家。
      

  7.   

    wwwtom(静隙行风) 不好,其中的"and"就很不好处理。
     lynx1111(任我行:曾率三千菜鸟夜袭珍珠港--被俘) 的方法显然更加专业。