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:
E questa invece è la classe che implementa la 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 questo è il risultato che ottengo:image001.jpgcodice: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; }
(l'immagine è piccola), ma vi assicuro che si tratta di un NPE.
Grazie.

Rispondi quotando