No I think my code in that respect is fine...I create the statement then execute it. I know that I re-create the statement again after the first execution but I put that in there just to see what it would give me, I didnt see any change in behavior.
alessandro ferrucci :) On 9/3/07, Kantartzis Vasileios <[EMAIL PROTECTED]> wrote: > > 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] > >
