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个回答

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

zhuyangyang123
zhuyangyang123 嗯,是的!谢谢了。。。呵呵
大约 7 年之前 回复
liuyinhuan0409
liuyinhuan0409 if(spinnerRegion!=null && !spinnerRegion.isEmpty())
大约 7 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!