2014年8月22日 星期五

Jdbcmysql pst.getGeneratedKeys//取得新增之後的ID

    Jdbcmysql jdbcmysql = new Jdbcmysql("citygostore");
        Connection con = jdbcmysql.getConnection();
        con.setAutoCommit(false);//交易
       
        int memberowner_effectLines = 0;
       
        try {
            pst = con.prepareStatement("INSERT INTO `citygostore`.`memberowner` (`mo_membersn`, `sc_sn`,card_number, `mo_cardstatus`, `memberowner_createDate`) VALUES "
                            + "( ?, ?,?, ?, ?)",Statement.RETURN_GENERATED_KEYS);
            System.out.println("pst:"+pst);
        } catch(MySQLIntegrityConstraintViolationException e1){
            postMemberownerReturnMes.put("issus", "-1");//想要新增不存在的卡片
            con.rollback();//交易
        }
        catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            con.rollback();//交易
            postMemberownerReturnMes.put("issus", "0");
            return SUCCESS;
        }

        try {
            pst.setInt(1,Integer.valueOf(mo_membersn ));
            pst.setInt(2, Integer.valueOf(sc_sn));
            pst.setString(3, card_number);
            pst.setInt(4, Integer.valueOf(mo_cardstatus));
            java.util.Date dt = new java.util.Date();
            java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            String currentTime = sdf.format(dt);
           
            pst.setString(5,currentTime);
            memberowner_effectLines = pst.executeUpdate();
            System.out.println("memberowner_effectLines:"+memberowner_effectLines);
            postMemberownerReturnMes.put("effectLines", String.valueOf(memberowner_effectLines));
           
            ResultSet rs = pst.getGeneratedKeys();//取得新增之後的ID     pst1 = connection.prepareStatement(,Statement.RETURN_GENERATED_KEYS)
            if (rs != null && rs.next()) {
                Long key = rs.getLong(1);
                System.out.println("generatedbTicket mo_sn:" + key);
                postMemberownerReturnMes.put("mo_sn", String.valueOf(key));
            }
           

            if (memberowner_effectLines == 0) {
                postMemberownerReturnMes.put("issus", "0");
            } else {
                postMemberownerReturnMes.put("issus", "1");
                addCredit_card(con,sc_sn,mo_membersn,card_number,card_name,expire_date,valid_number);
               
            }

        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            con.rollback();//交易
            postMemberownerReturnMes.put("issus", "0");
        }
       
   

        return SUCCESS;

沒有留言:

張貼留言