# executeUpdate mehrmals



## Fridolin (24. Mai 2004)

Hallo Leute,
ich habe heute nur eine frage, eigentlich will ich nur rat! Ich will ein datenbankupdate das beliebig viele updates an daten vornimmt. Wie kann ich das machen ohne jedesmal schreiben zu müssen 
statement.executeUpdate( String sqlUpdate1 );
statement.executeUpdate( String sqlUpdate2 );
Versteht ihr was ich meine? Jemand hat mir gesagt ich muss BEGINN TRANSACTION und AUTO COMMIT FALSE setzen und gegebenenfalls ein ROLLBACK TRANSACTION durchführen um die Benutzertransaktionen transparent zu halten, also das Änderungen sofort in der Datenbank sichtbar sind, ich kenn aber kein tutorial dazu das mir das erklärt und ich weiß auch nicht ob ich das brauche. Wenn mir jemand ein paar Sätze dazu schreiben würde, damit ich weiß nach was ich suchen oder lesen muss wäre ich zufrieden.


----------



## nollario (24. Mai 2004)

auf deinem connection objekt kannst du transaktionen ausführen:


```
con.setAutoCommit(false); //standard ist true -> jetzt handlest du die transaction
stmt = con.createStatement();
stmt.execute... 
// sql

con.commit(); // oder con.rollback(); erst hier wird die transaktion beendet
```


----------



## Fridolin (24. Mai 2004)

hallo 
danke einmal für die schnelle antwort ich glaube dasselbe hab ich hier schon einmal gefragt naja kann ich 
in der transaktion auch mehrere updates in einer for schleife durchlaufen lassen also so:


```
try
{	
Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" );
}
				
catch( ClassNotFoundException event )
{	
System.out.println ( "Fehler bei ODBC-JDBC Treiber Initialisierung" + event );
return;
}					
        Connection con = null;
        Statement statement;
    		
try
{
url = "jdbc:odbc:Datenbank";
con = DriverManager.getConnection( url,"User","Password" );
con.setAutoCommit(false); 
statement = con.createStatement(); 
for(int i = 0; i < AnzahlEvents; i++)
{
    statement.executeUpdate( String sqlUpdate(i) );   <<< diese zeile hier >>>
}

con.commit(); 
statement.close();
}
  					
catch( SQLException event)
{
con.rollback();
System.out.println( "Fehler bei Tabellenabfrage " + event);	
return;
}	
finally
{
      try
      {
          if ( con != null )
          {
          con.close();
          }
      }					
      catch ( SQLException event ) {}						
}
```
Da kommen soviele exceptions darunter auch eine NullPointerException vermutlich weil der interpreter nicht mehr weiß was nun das getValueAt(getSelectedRow(int, int), 0) in dem sqlUpdate war.
sprichst du wirklich vier sprachen? 
lg fridolin


----------



## nollario (24. Mai 2004)

klar... das kannst du mehrere updates in einer transaktion stattfinden lassen in der schleife... kein problem...

schau mal im sun tutorial dir die jdbc section an, da müsste doch einiges dazu stehen...


----------

