Transaction Pairs 2 : Transaction : Database SQL JDBC : Java examples (example source code) Organized by topic

Java
C++
PHP
Java Home »  Database SQL JDBC   » [  Transaction  ]  Screenshots 
 



Transaction Pairs 2

/* From http://java.sun.com/docs/books/tutorial/index.html */


import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class TransactionPairs {

  public static void main(String args[]) {

    String url = "jdbc:mySubprotocol:myDataSource";
    Connection con = null;
    Statement stmt;
    PreparedStatement updateSales;
    PreparedStatement updateTotal;
    String updateString = "update COFFEES "
        "set SALES = ? where COF_NAME like ?";

    String updateStatement = "update COFFEES "
        "set TOTAL = TOTAL + ? where COF_NAME like ?";
    String query = "select COF_NAME, SALES, TOTAL from COFFEES";

    try {
      Class.forName("myDriver.ClassName");

    catch (java.lang.ClassNotFoundException e) {
      System.err.print("ClassNotFoundException: ");
      System.err.println(e.getMessage());
    }

    try {

      con = DriverManager.getConnection(url, "myLogin""myPassword");

      updateSales = con.prepareStatement(updateString);
      updateTotal = con.prepareStatement(updateStatement);
      int[] salesForWeek = 1751506015590 };
      String[] coffees = "Colombian""French_Roast""Espresso",
          "Colombian_Decaf""French_Roast_Decaf" };
      int len = coffees.length;
      con.setAutoCommit(false);
      for (int i = 0; i < len; i++) {
        updateSales.setInt(1, salesForWeek[i]);
        updateSales.setString(2, coffees[i]);
        updateSales.executeUpdate();

        updateTotal.setInt(1, salesForWeek[i]);
        updateTotal.setString(2, coffees[i]);
        updateTotal.executeUpdate();
        con.commit();
      }

      con.setAutoCommit(true);

      updateSales.close();
      updateTotal.close();

      stmt = con.createStatement();
      ResultSet rs = stmt.executeQuery(query);

      while (rs.next()) {
        String c = rs.getString("COF_NAME");
        int s = rs.getInt("SALES");
        int t = rs.getInt("TOTAL");
        System.out.println(c + "     " + s + "    " + t);
      }

      stmt.close();
      con.close();

    catch (SQLException ex) {
      System.err.println("SQLException: " + ex.getMessage());
      if (con != null) {
        try {
          System.err.print("Transaction is being ");
          System.err.println("rolled back");
          con.rollback();
        catch (SQLException excep) {
          System.err.print("SQLException: ");
          System.err.println(excep.getMessage());
        }
      }
    }
  }
}


           
       
Related examples in the same category
1.  Demo MySql Transaction
2.  Test Supports Transactions
3.  Transaction Pairs
4.  Transaction Info
5.  JDBC Transaction








Home| Contact Us
Copyright 2003 - 04 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.