应该是这个存储过程没有ResultSet返回的吧

解决方案 »

  1.   

    // state=con.prepareCall("execute getName ?,?");
    // state.registerOutParameter(2,Types.VARCHAR);
    // state.setString(1,"001");
    // state.execute();
    // System.out.println(state.getString(2));
    直接是execute,而不是query
      

  2.   

    可能是你的JDK版本儿太早,请确认是JDK 1.4
      

  3.   

    你给参数赋值了以后怎么没有执行语句呢,stmt.execute();
      

  4.   

    你那样肯定会出错,有两个地方:
    1:不是executeQuery
    2:读取resultSet必须要next,因为当第一次得到resultSet游标时不是在第一条记录上,而是在那前面,就象链表的head一样
    state=con.prepareCall("execute getTestCount");
    state.execute();
    result=state.getResultSet();
    while(result.next()){
    System.out.println("count="+result.getObject(1));
    }