nobody?自己顶一下,今天非得解决不可!!

解决方案 »

  1.   

    去掉一直接走2、3看看
    我觉得是cstmt.executeUpdate( );          
    cstmt分别定义下看看
      

  2.   

    ps=conn.prepareCall("{?=call p_test1(?)}");
          ps.registerOutParameter(1,java.sql.Types.INTEGER);
          ps.setString(2,"a");
          ps.executeUpdate();
          System.out.print(ps.getInt(1));
      

  3.   

    估计是唯一性约束的问题
    t3上有没有唯一性约束?
    另:捕获一下cstmt.executeUpdate的异常看看
      

  4.   

    ps=conn.prepareCall("{?=call p_test1(?)}");
          ps.registerOutParameter(1,java.sql.Types.INTEGER);
          ps.setString(2,"a");
          ps.executeUpdate();
          System.out.print(ps.getInt(1));
    是没有问题的
      

  5.   

    谢楼上的回复,就算是在你的机子上没问题吧,但可以解释一下么
    ps.registerOutParameter(1,java.sql.Types.INTEGER);  //这句,难道不是需要输出参数OUTPUT才需要这样写的么,如果只有返回值,应该不需要吧你的方法我也试了,但有错误:
    H:\Tomcat\work\Catalina\localhost\_\org\apache\jsp\test4_005f1_jsp.java:70: cannot resolve symbol
    symbol  : method registerOutputParameter (int,int)
    location: interface java.sql.CallableStatement
         cstmt.registerOutputParameter( 1, java.sql.Types.INTEGER );
              ^
    1 error
      

  6.   

    哎,解决了,总是这样的问题,
    cstmt.registerOutputParameter多了个“put",,郁闷!!谢谢各位!等会结!
      

  7.   

    为什么SUN定义这个方法,不加个put呢,奇怪!!