Salve a tutti,
sto tentando di scrivere su una servlet una classe di gestione di un database,
il database quando viene creato crea le tabelle riempendole, o vede se già esistono,
questo è il codice:
codice:
public class DbHandler {
private static Connection connection = null;
------------------------------------------
------------------------------------------
(ometto parti non utili)
------------------------------------------
------------------------------------------
public static ArrayList<String> doQueryElencoSquadre(){
ArrayList<String> result = new ArrayList<String>();
Connection con = getHsqlDbConnection();
ResultSet res = null;
try {
String query = "select * from SQUADRE_A WHERE 1=1 ";
res = con.createStatement().executeQuery(query);
while(res.next()){
result.add(res.getString("NOME"));
}
}
catch (Exception e) {
e.printStackTrace();
}
finally{
if (connection != null) closeDb();
}
return result;
}
public static Connection getHsqlDbConnection(){
if(connection == null){ // se è uguale a null crea la connessione e il database
try {
Class.forName("org.hsqldb.jdbcDriver");
connection = DriverManager.getConnection("jdbc:hsqldb:file:db_applicazione/nomedb","sa","");
//Create db on fly
// creaTabellaUtenti();
creaTabellaSquadre();
}
catch (ClassNotFoundException e) {
e.printStackTrace();
}
catch (SQLException e) {
}
} // altrimenti restituisce la connessione al db
return connection;
}
public static void creaTabellaSquadre(){
try {
connection.createStatement().executeUpdate("CREATE TABLE SQUADRE_A (Nome varchar(100))");
String nomeSquadra = null;
FileReader fr = new FileReader("/WEB-INF/File_del_Server/Squadre.txt");
BufferedReader in=new BufferedReader(fr);
nomeSquadra = in.readLine();
while(nomeSquadra != null){
connection.createStatement().executeUpdate("INSERT INTO SQUADRE_A values ('" + nomeSquadra + "')");
System.out.println("nomesquadra= " + nomeSquadra);
nomeSquadra = in.readLine();
}
in.close();
fr.close();
}
catch (SQLException e) {
}
catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
non funziona la lettura da file,
il file si trova alla cartella NomeApplicazione/WebContent/WEB-INF/File_del_Server
non legge niente e non torna niente. Qualche indicazione?