I think if memory serves me right that the create statement should proceed the execution statement in your code you try to execute a sttement that has not been created.
V.(Billy) Kantartzis Surveillance & Reconnaissance Resource Centre Command & Control Systems T:+31(0)70374-3706 F: +31(0)70374-3079 E:[EMAIL PROTECTED] -----Original Message----- From: Alessandro Ferrucci [mailto:[EMAIL PROTECTED] Sent: 03 September 2007 13:39 To: [email protected] Subject: simple JDBC question Hi this question is related to DBCP, but I will provide a sample without DBCP code since I see the same behavior either way. I have this very simple class: for some reaosn when I debug it in eclipse, and I step through the first statement I see the record has already been inserted in teh DB when I put autocommit to false...why is this? Also what should happen in this case is that the second statement is invalid so it throws an exception and the connection should rollback both statements but it is not...the first statement is obviously automatically commited...I cannot find out why this is not working thx alessandro ferrucci :) import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.sql.Statement; import org.junit.Test; // **************************************************************************** public class TestJDBC { @Test public void test() { Connection conn = null; try { Class.forName("com.mysql.jdbc.Driver"); } catch (ClassNotFoundException ex) { System.out.println(ex.getMessage()); } try { conn = DriverManager .getConnection("jdbc:mysql://localhost:3306/photos?user=root&password="); conn.setAutoCommit(false); } catch (SQLException ex) { } Statement stmt = null; try { stmt = conn.createStatement(); } catch (Exception ex) { System.out.println(ex.getMessage()); } try { stmt.execute("insert INTO photostest (id) VALUES (100)"); stmt = conn.createStatement(); stmt.execute("insert INTO photostest (id2) VALUES (200)"); } catch (Exception ex) { System.out.println(ex.getMessage()); try { conn.rollback(); } catch (Exception e) { System.out.println(ex.getMessage()); } } } } --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
