• 0 Oy - 0 Ortalama
  • 1
  • 2
  • 3
  • 4
  • 5
JDBC Transaction Örneği

 
#1

Bunu bir örnekle pekiştirelim. Teoride anlattığımı uygulamalı olarak bakalım.


/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package jdbc_transtaction;
 
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
 
/**
*
* @author BurakKutbay.com
*/
public class JDBC_Transtaction {
 
    /**
     * @param args the command line arguments
     * @throws java.lang.ClassNotFoundException
     * @throws java.sql.SQLException
     */
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        // TODO code application logic here
 
  {
            String driverClass = "sun.jdbc.odbc.JdbcOdbcDriver";
            Class.forName(driverClass);
            String url = "jdbc:odbc:mydatasource";
            String username = "burak";
            String password = "kutbay";
            Connection baglanti;
            baglanti = DriverManager.getConnection(url, username, password);
 
            try {
                double para = 100;
                String id = "Burak";
                baglanti.setAutoCommit(false);
 
                String sorgu = "update Para" + " set Kalan=Kalan-" + para + " where id=" + id;
                Statement stmtFrom = baglanti.createStatement();
                stmtFrom.executeUpdate(sorgu);
                String sorgu2 = "update Para" + " set Kalan=Kalan+" + para + " where id=" + id;
                Statement stmt = baglanti.createStatement();
                int durum = stmt.executeUpdate(sorgu2);
                if (durum > 0) {
                    baglanti.commit();
                    System.out.println("İşlem Tamam");
                } else {
                    baglanti.rollback();
                    System.out.println("İşlem Geri Alındı");
                }
            } catch (SQLException e) {
                baglanti.rollback();
                System.out.println("Geri Alındı");
            }
        }
    }
}


 Örneğimizde yaptığımız işlemleri incelediyseniz veri aktarımı yaparken Transaction’a göre otomatik olarak kapattık, commit ve rollback’leri kullanarak istediğimiz zaman sorgumuzu tümüyle gönderdik eğer bir hata olduğunda ise tüm işlemi iptal ederek geri aldık.



Bul
Alıntı


Benzer Konular...
Konu: Yazar Cevaplar: Gösterim: Son Mesaj
  JDBC Configuration efsane 0 2,009 14-11-2017, Saat: 01:22
Son Mesaj: efsane
  JDBC Nedir? Giriş dalaylama 0 2,652 12-06-2017, Saat: 00:18
Son Mesaj: dalaylama
  JDBC Driver Veritabanı URL’leri sempatik141 0 2,506 12-06-2017, Saat: 00:12
Son Mesaj: sempatik141
  JDBC Veritabanı Bağlantısı sempatik141 0 2,301 12-06-2017, Saat: 00:08
Son Mesaj: sempatik141
  JDBC Transaction Kavramı sempatik141 0 2,315 12-06-2017, Saat: 00:06
Son Mesaj: sempatik141

Digg   Delicious   Reddit   Facebook   Twitter   StumbleUpon  


Bu konuyu görüntüleyen kullanıcı(lar):
1 Ziyaretçi

   
Türkçe Çeviri: Emre KRMN, Kodlayanlar MyBB, © 2002-2022 MyBB Group.  



Merih Forum® bilgi paylaşım platformu. 2015-∞ Tüm hakları saklıdır.