Bruno_Laturner 28 de mai. de 2009
try {
conn = getConnection () ;
stmt = conn .prepareStatement ( "insert into endereco (rua,bairro) values(?,?)" ) ;
stmt .setString ( 1 , end .getRua ()) ;
stmt .setString ( 2 , end .getBairro ()) ;
stmt .execute () ;
stmt .close () ; // tenho duvidas se coloco isto aqui
stmt = conn .prepareStatement ( "insert into filial (razao,fantasia) values(?,?)" ) ;
stmt .execute () ;
stmt .setString ( 1 , filial .getRazao ()) ;
stmt .setString ( 2 , filial .getFantasia ()) ;
conn .commit () ;
}catch ( Exception e ) {
conn .rollback () ;
e .printStackTrace () ;
}
finally {
try {
stmt .close () ;
conn .close () ;
conn = null ;
stmt = null ;
} catch ( SQLException e ) {
e .printStackTrace () ;
}
}
Assim? commit só ao final qdo deu tudo certo, rollback qdo houver erros.
truck1n 28 de mai. de 2009
Exatamente isso.
Commit , grava definitivamente os dados(qualquer alteração que você fez).
Rollback , descarta todas as informções.
segue…
commit
public void commit ()
throws SQLException
Makes all changes made since the previous commit / rollback permanent and releases any database locks currently held by the Connection . This method should be used only when auto - commit mode has been disabled .
Throws :
SQLException - if a database access error occurs
See Also :
setAutoCommit ( boolean )
rollback
public void rollback ()
throws SQLException
Drops all changes made since the previous commit / rollback and releases any database locks currently held by this Connection . This method should be used only when auto - commit has been disabled .
Throws :
SQLException - if a database access error occurs
See Also :
setAutoCommit ( boolean )
Felagund 29 de mai. de 2009
lembrando que para isso funcionainternface connection definir a propriedade autoCommit (setAutoCommit) como false.
Se não a cada alteração ele comita automaticamente dependendo do banco.
[]'s