/* 
 
MySQL and Java Developer's Guide 
 
Mark Matthews, Jim Cole, Joseph D. Gradecki 
Publisher Wiley, 
Published February 2003,  
ISBN 0471269239 
 
*/ 
 
 
import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.ResultSet; 
import java.sql.SQLException; 
import java.sql.Statement; 
import java.sql.Timestamp; 
 
public class Transaction { 
  Connection connection; 
 
  public Transaction() { 
    try { 
      Class.forName("com.mysql.jdbc.Driver").newInstance(); 
      connection = DriverManager 
          .getConnection("jdbc:mysql://192.168.1.25/accounts?user=spider&password=spider"); 
    } catch (Exception e) { 
      System.err.println("Unable to find and load driver"); 
      System.exit(1); 
    } 
  } 
 
  public void doWork() { 
    try { 
      java.util.Date now = new java.util.Date(); 
      connection.setAutoCommit(false); 
      Statement statement = connection.createStatement( 
          ResultSet.TYPE_SCROLL_INSENSITIVE, 
          ResultSet.CONCUR_UPDATABLE); 
      ResultSet rs = statement 
          .executeQuery("SELECT * FROM acc_add WHERE acc_id = 1034055 and ts = 0"); 
 
      // set old row ts = current time 
      rs.next(); 
      rs.updateTimestamp("ts", new Timestamp(now.getTime())); 
      rs.updateRow(); 
 
      rs.moveToInsertRow(); 
      rs.updateInt("add_id", rs.getInt("add_id")); 
      rs.updateInt("acc_id", rs.getInt("acc_id")); 
      rs.updateString("name", rs.getString("name")); 
      rs.updateString("address1", "555 East South Street"); 
      rs.updateString("address2", ""); 
      rs.updateString("address3", ""); 
      rs.updateString("city", rs.getString("city")); 
      rs.updateString("state", rs.getString("state")); 
      rs.updateString("zip", rs.getString("zip")); 
      rs.updateTimestamp("ts", new Timestamp(0)); 
      rs.updateTimestamp("act_ts", new Timestamp(now.getTime())); 
      rs.insertRow(); 
      connection.commit(); 
 
      rs.close(); 
      statement.close(); 
      connection.close(); 
 
    } catch (Exception e) { 
      try { 
        connection.rollback(); 
      } catch (SQLException error) { 
      } 
      e.printStackTrace(); 
    } 
  } 
 
  public static void main(String[] args) { 
    Transaction trans = new Transaction(); 
    trans.doWork(); 
  } 
} 
 
            
          
  
  |