Salve, ho un problemino:
sto creando un'applicazione che consenta di accedere ad un database in remoto tramite CORBA. In pratica la connessione al database viene effettuata da una classe sul nodo server e l'oggetto di questa classe viene passato al metodo che effettua un inserimento nel database e fa parte dell'oggetto che ho messo sull'ORB.
Il problema č che quando vado ad eseguire un inserimento, mi viene mostrato: "Can not issue data manipulation statements with executeQuery().".
Il codice del connettore č:
mentre il codice della classe che accede al DB čcodice:package server; package server; import java.sql.*; public class Connettore { public Connettore (String url, String driver, String user, String pass) { this.url = url; this.driver = driver; this.user = user; this.pass = pass; } public Connettore Connetti() throws Exception { Class.forName(driver); conn = DriverManager.getConnection(url, user, pass); return this; } public Connection getConnection () { return conn; } private Connection conn; private String url; private String driver; private String user; private String pass; }
Ho creato anche una classe Manager che si occupa di gestire le query, ma al momento fa giusto quello che serve x quella particolare query. Il codice č:codice:package server; import org.omg.PortableServer.*; import controllo.*; import java.sql.*; public class IscrizioneUtenteImpl extends CIscrizionePOA { public IscrizioneUtenteImpl(Connettore conn) { this.conn = conn; } public void SaveDatiUtente(Utente utente) { Manager man = new Manager(conn); String sql = "INSERT INTO utente"+utente.CodiceUtente()+","+utente.Nome()+","+utente.Cognome()+","+utente.Indirizzo()+","+utente.Telefono(); try { man.doQuery(sql); } catch (SQLException e) {e.printStackTrace();} } public void SaveCodiceUtente(TesseraSocio tess) { Manager man = new Manager(conn); String sql = "INSERT INTO tesserasocio"+tess.CodiceUtente()+","+tess.Password()+","+tess.SaldoTessera(); try { man.doQuery(sql); } catch (SQLException e) {e.printStackTrace();} } private Connettore conn; }
codice:package server; package server; import java.sql.*; public class Manager { public Manager (Connettore c) { connect = c; ps = null; rs = null; } public void doQuery(String sql) throws SQLException { try { ps = connect.getConnection().prepareStatement(sql); rs = ps.executeQuery(sql); } finally { if (rs != null) { try {rs.close( );} catch (SQLException e) {} } if (ps != null) { try {ps.close( );} catch (SQLException e) {} } if (connect.getConnection() != null) { try {connect.getConnection().close( );} catch (SQLException e) {} } } } private Connettore connect; private ResultSet rs; private PreparedStatement ps; }
La classe UtenteImpl contiene sono metodi di set e get x i vari attributi.
Qualcuno saprebbe dirmi dove ho sbagliato? Grazie![]()

Rispondi quotando