日期:2014-05-17  浏览次数:20662 次

jdbc的一个问题
Java code

           Connection conn= JDBCUtil.getConnection();
           String sql="insert into accounts values('?','?','?','?','?','?')";
           PreparedStatement pre= conn.prepareStatement(sql);
           pre.setString(1, cardId);
           pre.setString(2, password);
           pre.setBigDecimal(3, new BigDecimal( balance));
           pre.setString(4, email);
           pre.setString(5, visible);
           pre.setDate(6, new java.sql.Date(2012,1,21));
           pre.executeUpdate();



一直报这个异常: Parameter index out of range (1 > number of parameters, which is 0)
我实在不明白错在哪里?? 添加明明是从1开始添加的啊
我select ,update 都没错 为什么insert 就会错呢??

------解决方案--------------------
参数不能放在''里面,否则当你是字符串。

不用担心双引号问题,JDBC只要发现你是String类型的参数,自动会把双引号加上去的。