jdbc相关问题

来源:2-9 JDBC实战---搭建视图层(下)

静以修身淡以明志

2016-03-25 01:01

        Map<String, Object> param = new HashMap<String, Object>();
        param.put("name", "godname");
        param.put("rela", "like");
        String str = "小美";
        param.put("value", str);

为什么这样写会出现错误???

写回答 关注

4回答

  • 酱油fight
    2016-03-25 22:07:40
    已采纳
    if(params!=null&&params.size()>0){
    			for (int i = 0; i < params.size(); i++) {
    				Map<String, Object> map=params.get(i);
    				sb.append(" and  "+map.get("name")+" "+map.get("rela")+" "+?+" ");
    			}
    		}
    		
    		PreparedStatement ptmt=conn.prepareStatement(sb.toString());
    		ptmt.setString(5, map.get("value"));

    在之前写map.get("value")的地方,换成'?',然后使用

    ptmt.setString(5, map.get("value"));

    对'?'位置进行赋值

    静以修身淡以...

    非常感谢!

    2016-03-26 10:41:20

    共 1 条回复 >

  • 酱油fight
    2016-03-25 22:09:32
    ptmt.setString(1, map.get("value"));

    这里应该是1哈,刚才回复的代码里是5,那个复制的,忘记改了

  • 酱油fight
    2016-03-25 16:20:53

     param.put("name", "godname");
            param.put("rela", "like");
            String str = "小美";
            param.put("value", str);

    构造出来的条件是  :godname like 小美    这里小美是字符串,所以要用单引号。

    你说param.put("value","'小美'")没错是因为这里面已经用单引号引起来了。去掉一样会报错。

    静以修身淡以...

    那如果是需要用户输入姓名查询,如何来写代码呢?(如果每次都需要用输入单引号会很麻烦),最近在纠结这个问题,希望可以帮我解决一下,谢谢哈!!!

    2016-03-25 19:52:00

    共 1 条回复 >

  • 酱油fight
    2016-03-25 13:59:02

    这个代码我试了,没报错啊。你说的错误是什么内容,方便贴出来么

    酱油figh... 回复静以修身淡以...

    String str = "小美"; 改成 String str = "'小美'";就是双引号里的小美再加一个单引号

    2016-03-25 16:19:25

    共 3 条回复 >

JDBC之 “ 对岸的女孩看过来”

一起领略JDBC的奥秘,为进一步学习集成框架打下良好的基础

99327 学习 · 856 问题

查看课程

相似问题

jdbc相关问题

回答 1

关于jdbc问题

回答 2

jdbc有关问题

回答 2

JDBC问题

回答 1

JDBC问题

回答 2