Database Connection, Commit, RollBack

Kategori: Java , 24 Temmuz 2019 , JanFranco


Birden fazla SQL sorgusunu ard arda gönderdiğimizi düşünelim. Eğer ara sorgulardan biri çalışmaz ise hata verir ise, o sorgulardan sonraki sorgular da çalışmaz. Ancak önceki sorgular çalışır ve bu büyük sıkıntılara yol açabilir. Bunu engellemek için Commit ve RollBack methodlarını kullanarak, sorguları alacağız, eğer hata var ise hiçbiri çalışmayacak, eğer hata yok ise işleme onay vereceğiz ve çalışacak. Görelim:


public void CommitandRollBack(){
        
        Scanner scanner = new Scanner(System.in);
        
        try {
            conn.setAutoCommit(false);
            
            String sorgu1 = "Delete FROM USERS WHERE ID = 3";
            String sorgu2 = "UPDATE USERS SET Email = 'kitap@gmail.com'";
            
            System.out.println("Güncellemeden önce:");
            listQuery();
            
            Statement statement = conn.createStatement();
            statement.executeUpdate(sorgu1);
            statement.executeUpdate(sorgu2);
            
            System.out.println("İşleminiz kaydedilsin mi: (yes, no)");
            String cevap = scanner.nextLine();
            
            if(cevap.equals("yes")){
                
                conn.commit();
                listQuery();
                System.out.println("Veritabanı güncellendi.");
                
            }
            else{
                
                conn.rollback();
                System.out.println("Veritabanı güncellemesi iptal edildi.");
                
            }
            
            
        } catch (SQLException ex) {
            Logger.getLogger(Baglanti.class.getName()).log(Level.SEVERE, null, ex);
        }
        
}


Sonraki Yazı: Draw App
Yorumlar

Henüz bir yorum bulunmuyor.
Yorum bırakın