Beh dai...così mi offendete!!!
Il problema è che nemmeno io capisco la relazione tra un NPE ed una esecuzione di query massivo.
Non vi avrei scritto altrimenti.
Cmq ok, vi fornisco il codice, vediamo se è più esplicativo della mia "struttura".
Questa è la servlet che esegue l'update della query:
codice:
if (strategy.compareTo("") != 0 && strategy.compareTo("Seleziona strategy") != 0) {
for (int i = 0; i < elencoContrattiVett.length; i++) {
String nb = elencoContrattiVett[i];
String update = new StringBuilder("update TRN_HDR_DBF set M_BSTRATEGY = case
when (M_COMMENT_BS='B') then '")
.append(strategy)
.append("' else '' end, ")
.append("M_SSTRATEGY = case
when (M_COMMENT_BS='S') then '")
.append(strategy)
.append("' else '' end
where M_NB=").append(nb).toString();
int row_update = StrategyDBAccess2.updateStrategyEquity(update);
}
}
E questa invece è la classe che implementa la query:
codice:
public static int updateStrategyEquity(String update) {
int i;
try {
Class.forName("com.sybase.jdbc3.jdbc.SybDriver").newInstance();
Connection conn
= DriverManager.getConnection(new StringBuilder
("jdbc:sybase:Tds:").append
(ipdb).append
(":").append
(portdb).append
("/").append
(db).toString(),
userdb, pswdb);
Statement statement = conn.createStatement(1005, 1008);
int row = statement.executeUpdate(update);
statement.close();
conn.close();
//writeLog(update);
System.out.println("QUERY UPDATE: " +update);
i = row;
} catch (Exception e) {
e.printStackTrace();
return 0;
}
return i;
}
E questo è il risultato che ottengo:image001.jpg
(l'immagine è piccola), ma vi assicuro che si tratta di un NPE.
Grazie.