PDA

View Full Version : [Java] problema ignoto


DrZoidberg
09-06-2006, 16:29
Salve. guardate queste righe di codice ( le variabili sono correttamente dichiarate ) :

Class.forName("com.mysql.jdbc.Driver");
connection=DriverManager.getConnection(connectionURL,"admin", "admin");
statement=connection.createStatement();

int a = statement.executeUpdate("INSERT INTO diarioeventi(Titolo) VALUES ('Mostra fotografica') ;" );


In pratica mi connetto ad un database e inserisco una riga nella tabella diarioeventi.

Questo è quello che in teoria dovrebbe fare....ma in pratica nn lo fa ! :muro:
Non riesco a capire il perchè....sono 2 giorni che mi scervello!
Qualcuno può aiutarmi? :help:

morskott
09-06-2006, 17:02
leva il punto e virgola dallo statement insert, è per quello

DrZoidberg
09-06-2006, 18:28
Ho corretto come dici te ma non va ugualmente!
Questa è la riga corretta:

int a = statement.executeUpdate("INSERT INTO diarioeventi(Titolo) VALUES ('Mostra') " );


L'istruzione SQL è corretta ,perchè ho provato ad eseguirla tramite prompt con il client MySQL e funziona!

Possibile che non si sia connesso al database? Eppure nn mi dà nessun errore !!!

:help:

rayman2
09-06-2006, 22:34
perchè non racchiudi le istruzioni in un blocco try catch del tipo:



try {
//il tuo codice
} catch (SQLException ex) {JOptionPane.showMessageDialog(null, ex.toString())}
catch (ClassNotFoundException){
JOptionPane.showMessageDialog(null, "driver non caricato")
}



In questo modo ci puoi dire qual'è l'errore generato oppure scopri se proprio non viene caricato il driver.

DrZoidberg
10-06-2006, 10:03
le istruzioni sono già racchiuse in un blocco try catch :

catch(SQLException e) {
System.err.println("SQL Problem: "+e.getMessage());
System.err.println("SQL State: "+e.getSQLState());
System.err.println("Error: "+e.getErrorCode());
}

catch(ClassNotFoundException e) {
System.err.println("nn trovo il driver"+ e.getMessage());
}

Quando avvio la servlet non mi appare nessun errore. Sembra sia andato tutto ok ... poi vado a controllare la base di dati e scopro che non ha modificato un bel niente!

DvL^Nemo
10-06-2006, 23:27
Prova a mettere un generico exception, puo' darsi che non sia ne' SQL ne' classnotfound..
Inoltre prova ad eseguire un commit dopo l'update..
Ciao !

SaintTDI
12-06-2006, 10:35
potrei dire una grandissima cazzata :)

ma fare il Commit sulla tabella?

DrZoidberg
12-06-2006, 15:17
A cosa serve fare un commit sulla tabella?
Come si fa un commit?

Non sono molto preparato sull'argomento...

SaintTDI
12-06-2006, 15:23
A cosa serve fare un commit sulla tabella?
Come si fa un commit?

Non sono molto preparato sull'argomento...

beh io lavoro su SQL e quando devo fare modifiche sul DB devi sempre effettuare un Commit... altrimenti le modifiche si vanno a farsi benedire :)

se non sbaglio basta che mandi un "Commit", prova a vedere.

non sò se programmando si deve inviare il commit... o se è direttamente implicito.