Oracle 有可能不支持这种写法,去asktom.oracle.com上看看吧,我在mysql上没有问题

解决方案 »

  1.   

    你可以试一下PreparedStatement,这个比较好用
      

  2.   

    public insert(int id,string name,string pwd)throws SQLException{
    Connection conn=null;
    PreparedStatement ps=null;
    ResultSet rs=null;
    try{
    conn=db.getConnection();
    String sql="insert tablename (p1,p2,p3) values(?,?,?)";
    ps=conn.prepareStatement(sql);
    ps.setint(1,Id);
    ps.setString(2,name);
    ps.setString(3,pwd);
    rs = ps.executeQuery() ;
    }catch (SQLException e) {
           throw new EJBException(e);
           }finally{
        db.CleanConnection(conn, ps, rs);
      }}}
    试验下这种方式呢?
      

  3.   

    try{
            DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
            String url = "jdbc:oracle:thin:java/[email protected]:1521:test";
            Connection cn=DriverManager.getConnection(url);
            cn.setAutoCommit(false);
            Statement st = cn.createStatement();
            int i = st.executeUpdate(
                    "insert/delete/update from tbUserInfo where UserID ='0004'");
            cn.commit();
           if (i !=0){System.out.println("delete success");}
         }
         catch(Exception ex){
           try{
             cn.rollback();
            }catch(Exception x){}
            System.out.println("delete failed");
         }
    这样就可以了。