为了账号安全,请及时绑定邮箱和手机立即绑定

关于search 查询女神信息代码 问题

else if(OPERATION_SEARCH.equals(in.toUpperCase())

||OPERATION_SEARCH.substring(0,1).equals(in.toUpperCase())

||OPERATION_SEARCH.equals(previous)){

previous =OPERATION_SEARCH;

//查找

List<Map<String,Object>> params=new ArrayList<Map<String,Object>> ();

Map<String,Object> param=new HashMap<String,Object>();

if(step==1){

System.out.println("请输入的name:");

}else if(2==step){

param.put("name", in);

System.out.println("请输入的关系:");

}else if(3==step){

param.put("rela", in);

System.out.println("请输入的结果:");

}else if(4==step){

param.put("value", in);

params.add(param);

try {

List<Goddess> gs =action.query(params);

for(Goddess g:gs){

System.out.print(g.toString());

}

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

if(OPERATION_SEARCH.equals(previous)){

step++;

}

}

最后显示结果

select * from imooc_goddess where 1=1 and null null 3

com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'null 3' at line 1

不知道最后sql为什么是null,不是传了值吗

正在回答

4 回答

-Allen说的方法是对的,亲测可用

0 回复 有任何疑惑可以回复我~

我也出现了同样的问题,因为要添加字符串,但是就不能接受自己输入的值了


0 回复 有任何疑惑可以回复我~

造成前面两个null的原因是下面这两行要放在while循环外面,

List<Map<String,Object>> params=new ArrayList<Map<String,Object>> ();

Map<String,Object> param=new HashMap<String,Object>();


1 回复 有任何疑惑可以回复我~
#1

_Allen_

另外还要记得像楼上一样家单引号,不然也会出错
2016-08-06 回复 有任何疑惑可以回复我~
#2

开黑小分队

32个赞!
2017-03-28 回复 有任何疑惑可以回复我~

param.put("name", "'"+in+"'");//加上一对单引号试试

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

关于search 查询女神信息代码 问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信