// Source File Name: Updat.sqlj 1.3 // // Licensed Materials -- Property of IBM // // (c) Copyright International Business Machines Corporation, 1998. // All Rights Reserved. // // US Government Users Restricted Rights - // Use, duplication or disclosure restricted by // GSA ADP Schedule Contract with IBM Corp. // This sample program shows how to write // a basic static embedded SQL UPDATE/DELETE/INSERT application(SQLJ). // For more information about this sample, refer to the README file. // For more information on Programming in Java, refer to the // "Programming in Java" section of the Application Development Guide. // For more information on building and running Java programs for DB2, // refer to the "Building Java Applets and Applications" section of the // Application Building Guide. // For more information on the SQL language, refer to the SQL Reference. import java.sql.*; import sqlj.runtime.*; import sqlj.runtime.ref.*; class Updat { static { try { Class.forName ("COM.ibm.db2.jdbc.app.DB2Driver").newInstance (); } catch (Exception e) { System.out.println ("\n Error loading DB2 Driver...\n"); System.out.println (e); System.exit(1); } } public static void main(String argv[]) { try { System.out.println ("\n Java Updat Sample"); String url = "jdbc:db2:sample"; // URL is jdbc:db2:dbname Connection con = null; // Set the connection /* :rk.3:erk. */ if (argv.length == 0) { // connect with default id/password con = DriverManager.getConnection(url); } else if (argv.length == 2) { String userid = argv[0]; String passwd = argv[1]; // connect with user-provided username and password con = DriverManager.getConnection(url, userid, passwd); } else { throw new Exception("\nUsage: java Updat [username password]\n"); } // Set the default context DefaultContext ctx = new DefaultContext(con); DefaultContext.setDefaultContext(ctx); // Enable transactions con.setAutoCommit(false); // UPDATE/DELETE/INSERT try { String jobUpdate = null; jobUpdate="Clerk"; #sql {UPDATE staff SET job = :jobUpdate WHERE job = 'Mgr'}; /* :rk.4:erk. */ System.out.println("\nAll 'Mgr' have been demoted to 'Clerk'!"); jobUpdate="Sales"; #sql {DELETE FROM staff WHERE job = :jobUpdate}; System.out.println("All 'Sales' people have been deleted!"); /* :rk.5:erk. */ #sql {INSERT INTO staff VALUES (999, 'Testing', 99, :jobUpdate, 0, 0, 0)}; /* :rk.6:erk. */ System.out.println("New data has been inserted"); } catch( Exception e ) { throw e; } finally { // Rollback the transaction System.out.println("\nRollback the transaction..."); #sql { ROLLBACK }; /* :rk.7:erk. */ System.out.println("Rollback done."); } } catch (Exception e) { System.out.println (e); } } }