zhuyangyang123
zhuyangyang123
采纳率0%
2012-07-18 13:22 浏览 286

sqlite 根据传递的参数动态组合 sql 语句 参数传过来了 可是打印 出来的 还是组合之前的 sql???

[code="java"]
//最后一行 我将 组合的 sql 打印 打印的却还是 StringBuilder sql 里面的 语句 后面追加上的 代码没有执行。。。

public List> findMovieByType(String type,String spinnerRegion,String spinnerActor,String spinnerYear,String television,int pageNum,int numSize){

//下面 这行打印 是看我 传递过来的参数 的,没选择下拉框后 下拉框的对应值 就会变化  这个打印显示出来  是可见的  确实是 参数已经传过来了不为空  但是 下面判断的  不为空就追加 条件 没起作用         System.out.println("==================>>>>>"+type+","+spinnerRegion+","+spinnerActor+","+spinnerYear+","+television);  


        StringBuilder sql = new StringBuilder("select * from Online_All where 1=1");  
        if(type!=null && type.isEmpty()){  

//这里打印不出来 也就是判断没有执行。。。
system.out.println("==============>>>>>>>>"+type);
sql.append(" and type= '").append(type).append("'");

}

if(spinnerRegion!=null && spinnerRegion.isEmpty()){

sql.append(" and region= '").append(spinnerRegion).append("'");

}

if(spinnerActor!=null && spinnerActor.isEmpty()){

sql.append(" and actor='").append(spinnerActor).append("'");

}

if(spinnerYear!=null && spinnerYear.isEmpty()){

sql.append(" and year='").append(spinnerYear).append("'");

}

if(television!=null && television.isEmpty()){

sql.append(" and television= '").append(television).append("'");

}

System.out.println("==================="+sql.toString());

Cursor cursor = db.rawQuery(sql.toString(), null);

}

怎样让判断执行????

[/code]

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

1条回答 默认 最新

  • 已采纳
    liuyinhuan0409 liuyinhuan0409 2012-07-18 14:18

    你的那些个if(spinnerRegion!=null && spinnerRegion.isEmpty())是不是写反了?看你的意思是要有值的时候就sql.append的吧?那你的if写的是为空值。是不是要这样:
    [code="java"]
    if(spinnerRegion!=null && !spinnerRegion.isEmpty())
    [/code]
    下面的if同样改过来

    点赞 评论 复制链接分享

相关推荐