try {
      ResultSet resultSetAccess=null;
      Statement statementAccess=null;
      conIn.setAutoCommit(false);
      statementAccess = conAccess.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_READ_ONLY);// .CONCUR_UPDATABLE);
      resultSetAccess=statementAccess.executeQuery(DataExchangeSqlList.Select_A001PersonInfo);
      while (resultSetAccess.next()){
        String a0100=resultSetAccess.getString("A0100").trim();
        //外网身份证号
        String AccessA0184=resultSetAccess.getString("A0184");
        PreparedStatement statementInWeb = null;
        ResultSet resultSetInWeb=null;
        statementInWeb=conIn.prepareStatement(DataExchangeSqlList.GET_A001PersonInfo,
                                              ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
        statementInWeb.setString(1,a0100);
        resultSetInWeb=statementInWeb.executeQuery();
        //判断人员编号在内网是否存在
        if (resultSetInWeb.next()){            //内网身份证号
            String InA0184= resultSetInWeb.getString("A0184");
            //判断是否已受理
            String InA0150=resultSetInWeb.getString("A0150");
            //resultSetInWeb.close();
            //statementInWeb.close();
            System.out.println("InA0184="+InA0184);
            System.out.println("InA0150="+InA0150);
            //人员编号存在,但身份证不相符
            if (!InA0184.startsWith(AccessA0184)){
              //重新生成人员编号并插入相关信息
              PersonInfoDAO personInfoDAO=new PersonInfoDAOImpl();
              String NewPersonId=personInfoDAO.getA0100();
              insert_NewPersonInfo_To_InWeb(a0100,NewPersonId,conAccess,conIn);
            }
            //人员编号存在,身份证号相同且人员状态未受理
            else if (InA0184.startsWith(AccessA0184) && (InA0150==null || InA0150.toUpperCase().startsWith("N"))){
                if (conIn==null)
                  System.out.println("==conIn is"+conIn);
                //???????????????????????????
                update_A001PersonInfo_To_InWeb(conIn, resultSetAccess);

解决方案 »

  1.   

    }
            }
        catch (SQLException exception) {
          conIn.rollback();
          throw new AcceptDAOSysException("SQLException: " + exception.getMessage());
        }
        catch (Exception exception) {
          conIn.rollback();
          throw new Exception("Exception: " + exception.getMessage());
        }  }在执行问号下面的语句时出错,出错处是*****号下的语句
    public void update_A001PersonInfo_To_InWeb(Connection  conIn,ResultSet resultSet)throws AcceptDAOSysException{
        try{
          PreparedStatement statement=conIn.prepareStatement(DataExchangeSqlList.UPDATE_A001PersonInfo);
          if (resultSet==null)
            System.out.println("zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz");
          //**************************
          String a0100=resultSet.getString("A0100").trim();
          statement.setString(1,  resultSet.getString("B0105"));
          statement.setString(2,  resultSet.getString("B0101"));
          statement.setString(3,  resultSet.getString("KIND"));
          statement.setString(4,  resultSet.getString("A0184"));
          statement.setString(5,  resultSet.getString("A0101"));
          statement.setString(6,  resultSet.getString("A0102"));
          statement.setString(7,  resultSet.getString("A0104"));
          statement.setDate(8,    resultSet.getDate("A0107"));
          statement.setString(9, resultSet.getString("A0111"));
          statement.setString(10, resultSet.getString("A0109"));
          statement.setString(11, resultSet.getString("A0110"));
          statement.setString(12, resultSet.getString("A0120"));
          statement.setString(13, resultSet.getString("A0141"));
          statement.setDate(14,   resultSet.getDate("A0144"));
          statement.setString(15, resultSet.getString("A0801"));
          statement.setString(16, resultSet.getString("A0901"));
          statement.setString(17, resultSet.getString("A0813"));
          statement.setString(18, resultSet.getString("A0814"));
          statement.setString(19, resultSet.getString("A0823"));
          statement.setString(20, resultSet.getString("A0827"));
          statement.setString(21, resultSet.getString("A0824"));
          statement.setString(22, resultSet.getString("A0809"));
          statement.setString(23, resultSet.getString("A0808"));
          statement.setDate(24,   resultSet.getDate("A0807"));
          statement.setString(25, resultSet.getString("A0127"));
          statement.setString(26, resultSet.getString("A0131"));
          statement.setString(27, resultSet.getString("A0132"));
          statement.setInt(28,    resultSet.getInt("FLOOWERNUM"));
          statement.setString(29, resultSet.getString("A0114"));
          statement.setString(30, resultSet.getString("A0151"));
          statement.setString(31, resultSet.getString("A0117"));
          statement.setString(32, resultSet.getString("A0181"));
          statement.setString(33, resultSet.getString("A0177"));
          statement.setString(34, resultSet.getString("VALSTATE"));
          statement.setString(35, resultSet.getString("MAKEUPSTATE"));
          statement.setDate(36,  resultSet.getDate("MAKEUPDATE"));
          statement.setString(37, resultSet.getString("MAKEUPNO"));
          statement.setString(38, resultSet.getString("A0150"));
          statement.setDate(39,   resultSet.getDate("ENTRADATE"));
          statement.setString(40, resultSet.getString("CHECK1"));
          statement.setString(41, resultSet.getString("CHECK2"));
          statement.setString(42, resultSet.getString("CHECK3"));
          statement.setString(43, resultSet.getString("JOBID"));
          statement.setString(44, resultSet.getString("EDUCE"));
          //statement.setString(45, resultSet.getString("STANDARDCARD"));
          statement.setString(45, resultSet.getString("ADDRESS"));
          statement.setString(46,  a0100);      int i=statement.executeUpdate();
          statement.close();
        }
        catch (SQLException exception) {
          throw new AcceptDAOSysException("SQLException: " + exception.getMessage());
        }  }
      

  2.   

    在每次调用resultSetAccess.next()一次以后
    对每个resultSet.getString("B0105"));只能调用一次
    如果你想再次使用,先要保存到临时变量里面