executeUpdate mehrmals

Status
Nicht offen für weitere Antworten.

Fridolin

Bekanntes Mitglied
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

Bekanntes Mitglied
auf deinem connection objekt kannst du transaktionen ausführen:

Code:
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

Bekanntes Mitglied
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:

Code:
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

Bekanntes Mitglied
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...
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben