Ho fatto così, chiaramente mi devi dire se per te è una scelta appropriata:
codice:
public void creaStatement(String sql){
try{
ps = connessioneDB.prepareStatement(sql);
}catch(SQLException exc){
JOptionPane.showMessageDialog(null, exc.getMessage(),
"Errore metodo creaStatement!", JOptionPane.ERROR_MESSAGE);
}
}
public void popolaStatement(String nomefile, String tipofile,
Long dimensionefile, String tiposupporto, String nomesupporto,
String datacatalogazione, String path){
try{
ps.setString(1, nomefile);
ps.setString(2, tipofile);
ps.setLong(3, dimensionefile);
ps.setString(4, tiposupporto);
ps.setString(5, nomesupporto);
ps.setString(6, datacatalogazione);
ps.setString(7, path);
ps.executeUpdate();
}catch(SQLException exc){
JOptionPane.showMessageDialog(null, exc.getMessage(),
"Errore metodo popolaStatement!", JOptionPane.ERROR_MESSAGE);
}
}
public void lanciaStatement(){
try{
ps.executeUpdate();
}catch(SQLException exc){
JOptionPane.showMessageDialog(null, exc.getMessage(),
"Errore metodo lanciaStatement!", JOptionPane.ERROR_MESSAGE);
}
}
Poi nel form dove catalogo i file prelevati eseguo il tutto in questa maniera:
codice:
db.creaStatement("INSERT INTO precatalogati "
+ "(nomefile, tipofile, "
+ "dimensionefile, tiposupporto, nomesupporto, "
+ "datacatalogazione, path) VALUES "
+ "(?, ?, ?, ?, ?, ?, ?);");
for(int i = 0; i <arraySize; i++){
db.popolaStatement(convertiNomeFilePerSQL.replaceAll("'", "''"),
getExtension(entries[i]), entries[i].length(),
cmbTipoSupporto.getSelectedItem().toString(),
txtNomeSupporto.getText(),
txtDataCatalogazione.getText(),
convertiPathPerSQL.replaceAll("'", "''"));
}
db.lanciaStatement();
Cosa ne pensi? Fammi sapere.