ich habe folgende Klasse
Dieser Klasse wird eine ArrayListe mit allen Änderungen der Datenbankeinträge übergeben. Diese Querystring sind auch so weit ok vom Syntax und es ist auch der Inhalt in der Liste . Es wird auch der Updatecounter updateCount erhöht, so das ich davon ausgehen könnte, das die Updates durchgeführt werden. Weiterhin wird auch keine Exception geworfen. Weder eine SQLException noch eine BatchUpdateException. Falls mach ich da falsch?
Ausgelöst wird die Methode von folgenden zeilen
Gruß niesel
Java:
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package empathie.DAO;
import java.sql.*;
import empathie.PersonUndJob.*;
import java.util.*;
public class UpdateAnTablesDAO {
private String user;
private String password;
private Connection conn;
private String dburl;
private String className;
public UpdateAnTablesDAO(String user, String password, String dburl, String className) {
this.user = user;
this.password = password;
this.dburl = dburl;
this.className = className;
}
public boolean updateAnHisTable(ArrayList<String> sqlList) throws SQLException, ClassNotFoundException {
ArrayList<String> sql = new ArrayList<String>();
int[] updateCount = null;
boolean isUpdated = false;
conn = AllowConnect.driver(this.user, this.password, this.dburl, this.className);
if (conn != null) {
conn.setAutoCommit(false);
try {
Statement stmt = conn.createStatement();
for (int i = 0; i < sqlList.size(); i++) {
System.out.println("Sqlliste in "+sqlList.get(i));
stmt.addBatch(sqlList.get(i));
}//for
updateCount = stmt.executeBatch();
System.out.println(updateCount[0]);
if (updateCount.length > 0) {
isUpdated = true;
}//if
} catch (BatchUpdateException e) {
e.printStackTrace();
conn.rollback();
return false;
}//catch
}//if
return isUpdated;
}//updateAnHisTable
}//class
Ausgelöst wird die Methode von folgenden zeilen
Java:
private void jSaveChangesAnHisBTActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
ArrayList<String> sqlList = new ArrayList<String>();
boolean isUpdated;
sqlList=hisTblMdl.getSqlList();
if (hisTblMdl.getSqlList().size()>0) {
UpdateAnTablesDAO ubdateTbl = new UpdateAnTablesDAO(this.userName, this.password, this.url, this.className);
try {
isUpdated = ubdateTbl.updateAnHisTable(hisTblMdl.getSqlList());//Übergabe der gesammelten SQLbefehle
}catch (SQLException sqlEx) {
sqlEx.printStackTrace();
}catch(ClassNotFoundException cnfEx) {
cnfEx.printStackTrace();
}
}
}
Gruß niesel