Salve ragazzi. Da poco mi sono cimentato con la fusione fra Eclipse e Database (uso PostgreSQL come DBMS). In particolare ho due problemi: il primo è COME collegare Eclipse al database, ed il secondo è il popolamento. Del primo problema non ho proprio idea di come fare (il prof ci ha spiegato che dobbiamo andare da qualche parte in New Connection Profile ma io non trovo nulla del genere); per il secondo problema, ecco il codice:
codice:
import java.sql.*;
import java.util.*;
public class Query {
public static void main(String[] args) {
Connection conn = null;
try {
Class.forName("org.postgresql.Driver");
conn = DriverManager.getConnection("jdbc:postgresql://localhost/prova", "postgres", "password");
}
catch (Exception e) {
System.out.println("Impossibile connettersi al database");
System.exit(1);
}
try {
Statement stmnt = conn.createStatement();
ResultSet result = null;
for(int j=0; j<=100;j++){
result = stmnt.executeQuery("insert into Azienda(nomeAzienda,citta,nDipendenti) values('Azienda" + j +"' ,'citta" + j + "' ,100" + j + ");"
);
}
while(result.next()) {
String query = result.getString(1) + "\t\t" + result.getString(2) + "\t\t" + result.getInt(3);
System.out.println(query);
}
} catch (Exception x) {
System.out.println("Errore nella lettura dei dati");
x.printStackTrace();
System.exit(1);
}
}
}
Allora, come potete vedere io faccio un ciclo for per popolare il database con stringhe differenti e poi mi faccio restituire il risultato con le get. Tuttavia il programma mi lancia l'eccezione:
codice:
Errore nella lettura dei dati
org.postgresql.util.PSQLException: Nessun risultato è stato restituito dalla query.
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:253)
at Query.main(Query.java:19)
Cosa sbaglio?
Ecco la query per la creazione della tabella che ho scritto in PostgreSQL:
codice:
create table Azienda (
nomeAzienda varchar(20),
citta varchar(20),
nDipendenti int,
constraint PK_vincolo primary key(nomeAzienda)
);
Grazie a tutti.
PS: Non sapevo se postarlo qui o nella sezione Database. Nel caso lo spostate.