Hallo,
weiß wer von euch wie man am besten mehrere Datenbankupdates, die einem Event angehängt sind, nach und nach in die Datenbank eintragen kann?
Das stell ich mir so vor, du hast eine JTable in der in jeder Zeile ein anderer Datensatz steht und erst wenn alle Eingaben gemacht wurden hat der benutzer noch die auswahl auf abbrechen zu klicken und dann wird halt nichts gemacht, wenn er auf ok klickt sollen alle vorher angelegten Updatestrings hintereinander in die Datenbank geschrieben werden. Die Strings stehen in einem Array das seinen index jedesmal um eins erhöht und werden dann
in einer schleife durchgelaufen und so sollen eben die updates mit stmt.executeUpdate( String sqlQuery(i) ) eingetragen werden. kann mir wer dabei helfen, am besten mit beispielcode denn das was ich bis jetzt habe geht so nicht Kann mir wer dabei helfen?
weiß wer von euch wie man am besten mehrere Datenbankupdates, die einem Event angehängt sind, nach und nach in die Datenbank eintragen kann?
Das stell ich mir so vor, du hast eine JTable in der in jeder Zeile ein anderer Datensatz steht und erst wenn alle Eingaben gemacht wurden hat der benutzer noch die auswahl auf abbrechen zu klicken und dann wird halt nichts gemacht, wenn er auf ok klickt sollen alle vorher angelegten Updatestrings hintereinander in die Datenbank geschrieben werden. Die Strings stehen in einem Array das seinen index jedesmal um eins erhöht und werden dann
in einer schleife durchgelaufen und so sollen eben die updates mit stmt.executeUpdate( String sqlQuery(i) ) eingetragen werden. kann mir wer dabei helfen, am besten mit beispielcode denn das was ich bis jetzt habe geht so nicht Kann mir wer dabei helfen?
Code:
int i = 0;
public void actionPerformed(ActionEvent e)
{
Object quelle = e.getSource();
String namen = name.getText();
String identifikation = id.getText();
if(quelle instanceof JButton)
{
if(e.getActionCommand().equals("Anlegen"))
{
String inhalte[] = new String[4];
inhalte[0] = (String)(id.getText());
inhalte[1] = (String)(name.getText());
inhalte[2] = (String)(dauer.getText());
inhalte[3] = (String)(alter.getText());
model.addRow(inhalte);
sqlQuery(i) = "INSERT INTO Film VALUES (" +Integer.parseInt(identifikation)+", '"+namen +"', "+Integer.parseInt(dauer.getText())+", "+Integer.parseInt(alter.getText())+");";
i++;
System.out.println("ButtonAction: "+e.getActionCommand());
}
else if(e.getActionCommand().equals("Ändern"))
{
if(table.getSelectedRows() != null & table.getSelectedColumns() != null)
{
if(table.getSelectedColumn() == 0 | table.getSelectedColumn() == 1 | table.getSelectedColumn() == 2 | table.getSelectedColumn() == 3)
{
for(int m = 0; m < table.getRowCount(); m++)
{
if(table.isCellSelected(m,0) == true | table.isCellSelected(m,1) == true | table.isCellSelected(m,2) == true | table.isCellSelected(m,3) == true)
{
String werteid = id.getText();
String wertename = name.getText();
String wertedauer = dauer.getText();
String wertealter = alter.getText();
table.setValueAt(werteid, m, 0);
table.setValueAt(wertename, m, 1);
table.setValueAt(wertedauer, m, 2);
table.setValueAt(wertealter, m, 3);
}
}
}
}
sqlQuery(i) = "UPDATE Film SET Filmname = '"+namen +"', Dauer = "+Integer.parseInt(dauer.getText())+", Altersbeschränkung = "+Integer.parseInt(alter.getText())+" WHERE ID = " +Integer.parseInt(identifikation)+";";
i++;
System.out.println("ButtonAction: "+e.getActionCommand());
}
else if(e.getActionCommand().equals("Löschen"))
{
if(table.getSelectedRows() != null & table.getSelectedColumns() != null)
{
for(int n = 0; n < table.getRowCount(); n++)
{
if(table.getSelectedRow() == n)
{
model.removeRow(n);
}
}
sqlQuery(i) = "DELETE FROM Film WHERE ID = " +Integer.parseInt(identifikation)+";";
i++;
System.out.println("ButtonAction: "+e.getActionCommand());
}
}
else if(e.getActionCommand().equals("OK") )
{
Statement stmt;
Connection con = null;
String url = "jdbc:odbc:Datenbank";
try
{
Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" );
}
catch( ClassNotFoundException event )
{
System.out.println ( "Fehler bei ODBC-JDBC Treiber Initialisierung" + event );
return;
}
try
{
con = DriverManager.getConnection( url,"User","Password" );
stmt = con.createStatement();
for( int s = 0; s < i; s++)
{
stmt.executeQuery( sqlQuery(s) );
}
stmt.close();
}
catch( SQLException event)
{
System.out.println( "Fehler bei Tabellenabfrage " + event);
return;
}
finally
{
try
{
if ( con != null )
{
con.close();
}
}
catch ( SQLException event ) {}
}
System.out.println("ButtonAction: "+e.getActionCommand());
}
}
}