Ragazzi ho un problema... ho queste due classi (la prima è presa dalal pillola di LELE
codice:/* * Classe dedicata alla gestione del Database. * Gestisce l'apertura e la chiusura della connessione col Database * Fornisce i metodi per l'esecuzione delle query sul Database */ import java.sql.*; import java.util.Vector; public class Database { private String nomeDB; // Nome del Database a cui connettersi private String nomeUtente; // Nome utente utilizzato per la connessione al Database private String pwdUtente; // Password usata per la connessione al Database private String errore; // Raccoglie informazioni riguardo l'ultima eccezione sollevata private Connection db; // La connessione col Database private boolean connesso; // Flag che indica se la connessione è attiva o meno public Database(String nomeDB) { this(nomeDB, "", ""); } public Database(String nomeDB, String nomeUtente, String pwdUtente) { this.nomeDB = nomeDB; this.nomeUtente = nomeUtente; this.pwdUtente = pwdUtente; connesso = false; errore = ""; } // Apre la connessione con il Database public boolean connetti() { connesso = false; try { // Carico il driver JDBC per la connessione con il database MySQL Class.forName("com.mysql.jdbc.Driver"); // Controllo che il nome del Database non sia nulla if (!nomeDB.equals("")) { // Controllo se il nome utente va usato o meno per la connessione if (nomeUtente.equals("")) { // La connessione non richiede nome utente e password db = DriverManager.getConnection("jdbc:mysql://localhost/" + nomeDB); } else { // La connessione richiede nome utente, controllo se necessita anche della password if (pwdUtente.equals("")) { // La connessione non necessita di password db = DriverManager.getConnection("jdbc:mysql://localhost/" + nomeDB + "?user=" + nomeUtente); } else { // La connessione necessita della password db = DriverManager.getConnection("jdbc:mysql://localhost/" + nomeDB + "?user=" + nomeUtente + "&password=" + pwdUtente); } } // La connessione è avvenuta con successo connesso = true; } else { System.out.println("Manca il nome del database!!"); System.out.println("Scrivere il nome del database da utilizzare all'interno del file \"config.xml\""); System.exit(0); } } catch (Exception e) { errore = e.getMessage(); } return connesso; } // Esegue una query di selezione dati sul Database // query: una stringa che rappresenta un'istruzione SQL di tipo SELECT da eseguire // colonne: il numero di colonne di cui sarà composta la tupla del risultato // ritorna un Vector contenente tutte le tuple del risultato public Vector eseguiQuery(String query) { Vector v = null; String [] record; int colonne = 0; try { Statement stmt = db.createStatement(); // Creo lo Statement per l'esecuzione della query ResultSet rs = stmt.executeQuery(query); // Ottengo il ResultSet dell'esecuzione della query v = new Vector(); ResultSetMetaData rsmd = rs.getMetaData(); colonne = rsmd.getColumnCount(); while(rs.next()) { // Creo il vettore risultato scorrendo tutto il ResultSet record = new String[colonne]; for (int i=0; i<colonne; i++) record[i] = rs.getString(i+1); v.add( (String[]) record.clone() ); } rs.close(); // Chiudo il ResultSet stmt.close(); // Chiudo lo Statement } catch (Exception e) { e.printStackTrace(); errore = e.getMessage(); } return v; } // Esegue una query di aggiornamento sul Database // query: una stringa che rappresenta un'istuzione SQL di tipo UPDATE da eseguire // ritorna TRUE se l'esecuzione è adata a buon fine, FALSE se c'è stata un'eccezione public boolean eseguiAggiornamento(String query) { int numero = 0; boolean risultato = false; try { Statement stmt = db.createStatement(); numero = stmt.executeUpdate(query); risultato = true; stmt.close(); } catch (Exception e) { e.printStackTrace(); errore = e.getMessage(); risultato = false; } return risultato; } // Chiude la connessione con il Database public void disconnetti() { try { db.close(); connesso = false; } catch (Exception e) { e.printStackTrace(); } } public boolean isConnesso() { return connesso; } // Ritorna TRUE se la connessione con il Database è attiva public String getErrore() { return errore; } // Ritorna il messaggio d'errore dell'ultima eccezione sollevata }Quando vado a compilare la prima mi da un errore del tipo:codice:public class TestDB{ public static void main(String args[]){ Database db = new Database("java"); if ( !db.connetti() ) { System.out.println("Errore durante la connessione."); System.out.println( db.getErrore() ); System.exit(0); } // Eseguo una query sul database. La tabella si chiama Tbl. Vector v = db.eseguiQuery( "SELECT * FROM utente;" ); // Stampiamo i risultati: int i = 0; while ( i<v.size() ) { String[] record = (String[]) v.elementAt(i); System.out.println("Record numero " + (i+1) ); for (int j=0; j<record.length; j++) { System.out.println( record[j] ); } } // Eseguo un aggiornamento sul campo 'nomecampo' della tabella Tbl: if ( !db.eseguiAggiornamento("UPDATE utente SET nome=modificato WHERE id>0;") ) { System.out.println("Errore nell'aggiornamento!"); System.out.println( db.getErrore() ); } // Ora chiudo la connessione col Database: db.disconnetti(); } }
Mentre con la seconda mi dice:Note: Database.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
1 error
Qualche suggerimento?C:\Documents and Settings\ale\Documenti\database>javac *.java
TestDB.java:14: cannot find symbol
symbol : class Vector
location: class TestDB
Vector v = db.eseguiQuery( "SELECT * FROM utente;" );
^
Note: Database.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
1 error
C:\Documents and Settings\ale\Documenti\database>

Rispondi quotando
è tutto oggi ke sbatto...nessuno ha idea?
