Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Java JDBC -chèn bản ghi vào cơ sở dữ liệu chỉ khi nó không tồn tại

ResultSet rs =pStmnt.executeQuery () sẽ trả về tập kết quả sẽ không bao giờ là null cho đến khi không có ngoại lệ nếu bạn muốn kiểm tra xem bản ghi có ở đó hay không, bạn có thể sử dụng phương thức rs.next () xác minh xem có bản ghi nào ở đó hay không tập kết quả

 public boolean createRecord(Myuser myuser) 
    {
        Connection cnnct = null;
        PreparedStatement pStmnt = null;
        try
        {
            cnnct = getConnection();
            String preQueryStatement
            = "SELECT * FROM MYUSER WHERE MYUSER.USERID = ?;";
            pStmnt = cnnct.prepareStatement(preQueryStatement);
            pStmnt.setLong(1,youruserid);
            ResultSet rs = pStmnt.executeQuery();
            if (!rs.next())
            {
                String insertStatement
                = "INSERT INTO MYUSER VALUES (?, ?, ?, ?, ?, ?, ?, ?)";
                PreparedStatement ps = cnnct.prepareStatement(insertStatement);

                ps.setString(1, myuser.getUserid());
                ps.setString(2, myuser.getName());
                ps.setString(3, myuser.getPassword());
                ps.setString(4, myuser.getEmail());
                ps.setString(5, myuser.getPhone());
                ps.setString(6, myuser.getAddress());
                ps.setString(7, myuser.getSecQn());
                ps.setString(8, myuser.getSecAns());

                System.out.println("new user inserted");
                return true;
            } 
            else
            {
                System.out.println("user already in data base");
                return false;
            }

        } 

        catch (SQLException ex) 
        {
            while (ex != null) 
            {
                ex.printStackTrace();
                ex = ex.getNextException();
            }
        } 

        catch (IOException ex) 
        {
            ex.printStackTrace();
        }

        finally 
        {
            if (pStmnt != null) 
            {
                try 
                {

                    pStmnt.close();
                } 
                catch (SQLException e)
                {

                }
            }

            if (cnnct!= null) 
            {

                try 
                {
                    cnnct.close();

                } 
                catch (SQLException sqlEx) 
                {

                }
            }
        }
    }



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL là gì?

  2. Hành vi giao dịch MySQL / PHP

  3. Trình kết nối Python cho Django 1.9 và Python 3.5?

  4. Mối quan hệ một đến nhiều giữa AspNetUsers (Identity) và một bảng tùy chỉnh

  5. Bắt nhầm ngoại lệ