File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
The moose likes JDBC and the fly likes Looping through PreparedStatement executeBatch  for Commit or rollback Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Spring in Action this week in the Spring forum!
JavaRanch » Java Forums » Databases » JDBC
Bookmark "Looping through PreparedStatement executeBatch  for Commit or rollback" Watch "Looping through PreparedStatement executeBatch  for Commit or rollback" New topic
Author

Looping through PreparedStatement executeBatch for Commit or rollback

Ravi Kiran Va
Ranch Hand

Joined: Apr 18, 2009
Posts: 2234

Hi ,

Inside a While loop i am inserting data into Database Using PreparedStatement.

int[] result1= pstmt.executeBatch();


How can i check for Failure Transactions , so that i can issue commit or rollback ??

Please share your ideas .

(Is there any other option than manually using for loop and iterating and then )

I have written the below code , but i dont like it , is there any other option ??

for(int i=0;i<result1.length;i++)
{
if(result1>0)
{
connection.commit();
}
else
{
connection.rollback();
}


Please share your ideas .


Save India From Corruption - Anna Hazare.
Deepak Pant
Ranch Hand

Joined: Feb 13, 2004
Posts: 443
If one of the commands in a batch update fails to execute properly, this method throws a BatchUpdateException, and a JDBC driver may or may not continue to process the remaining commands in the batch. However, the driver's behavior must be consistent with a particular DBMS, either always continuing to process commands or never continuing to process commands. If the driver continues processing after a failure, the array returned by the method BatchUpdateException.getUpdateCounts will contain as many elements as there are commands in the batch, and at least one of the elements will be the following:

A value of EXECUTE_FAILED -- indicates that the command failed to execute successfully and occurs only if a driver continues to process commands after a command fails

Please refer here for more details:
http://java.sun.com/javase/6/docs/api/java/sql/Statement.html#executeBatch%28%29
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Looping through PreparedStatement executeBatch for Commit or rollback