当前位置: 代码迷 >> J2SE >> JDBC中参数设置的奇怪有关问题
  详细解决方案

JDBC中参数设置的奇怪有关问题

热度:32   发布时间:2016-04-24 02:01:35.0
JDBC中参数设置的奇怪问题
问题,请问各位大虾,我现在在SQL语句里使用like 关键字时,更新就会失败,
如果将LIKE换成=就可以,各位指点
Java code
try {        Connection con =DBManager.getConn();        String sql="update t114stuinfo set salary=salary+? where stuName like ?";        PreparedStatement pstmt =con.prepareStatement(sql);        pstmt.setInt(1,1000);        pstmt.setString(2,"tt");        int x=pstmt.executeUpdate();        if(x>0){            System.out.println("更新成功");        }else{            System.out.println("更新失败");        }        pstmt.close();        con.close();    } catch (SQLException e) {        // TODO 自动生成 catch 块        e.printStackTrace();    }


------解决方案--------------------
试试 去掉anis引用的标识符,在设置odbc那里
------解决方案--------------------
测试通过。。
Java code
            Class.forName("net.sourceforge.jtds.jdbc.Driver");            Connection con = DriverManager.getConnection(                    "jdbc:jtds:sqlserver://localhost:1433/jiu", "sa", "1991721");            String sql =                    "update admin set username = ? where username like ?";            PreparedStatement pstmt = con.prepareStatement(sql);            pstmt.setString(1, "ninty");            pstmt.setString(2, "%n%");            int x = pstmt.executeUpdate();            if (x > 0) {                System.out.println("更新成功");            } else {                System.out.println("更新失败");            }            pstmt.close();            con.close();
------解决方案--------------------
你不用PreparedStatement 不行吗

或者不使用odbc桥

顺便问下楼上的
net.sourceforge.jtds.jdbc.Driver可以连odbc吗,没试过不了解
  相关解决方案