|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Jul 2002
Città: Soci (AR)
Messaggi: 841
|
[JAVA-SQL]: La delete non funziona, ma il codice non da errori.
Salve,
Ho qui un metodo che dovrebbe cancellare un record da una tabella, il programma non mi rileva errori e va in esecuzione, quando però arriva il momento di eseguire la query, mi genera un eccezione SQL, qualcuno può indicarmi dove stò sbagliando? Codice:
public int cancellaRecord(String cognome){ try{ conn.setAutoCommit(false); conn.commit(); String sql = "delete form prv_java_anagra where cognome = ?"; PreparedStatement dbst; dbst = conn.prepareStatement(sql); dbst.clearParameters(); try{ dbst.setString(3, cognome); dbst.executeUpdate(); }catch(SQLException ex){ return 1; } conn.commit(); conn.setAutoCommit(true); }catch(Exception ex){ try{ conn.rollback(); }catch(SQLException ex2){ return 1; } return 2; } return 0; }
__________________
...Fatti non foste a viver come bruti ma per seguir virtute e canoscenza... ...Excusatio non petita, accusatio manifesta... Bruno Boschi |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
A "occhio" (e nota non conoscendo JDBC), direi che quel 3 non va, visto che hai solo 1 parametro.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
![]() |
![]() |
![]() |
#3 | |
Senior Member
Iscritto dal: Jul 2002
Città: Soci (AR)
Messaggi: 841
|
Quote:
Si, in effetti non è motlo logico. Avevo provato anche mettendoci 1, ma il risulatato non cambia, la risposta che ottengo è sempre un'eccezione.
__________________
...Fatti non foste a viver come bruti ma per seguir virtute e canoscenza... ...Excusatio non petita, accusatio manifesta... Bruno Boschi |
|
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Jul 2002
Città: Soci (AR)
Messaggi: 841
|
Altri consigli e/o suggerimenti?
__________________
...Fatti non foste a viver come bruti ma per seguir virtute e canoscenza... ...Excusatio non petita, accusatio manifesta... Bruno Boschi |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
Non è che semplicemente hai sbagliato a scrivere nel comando sql?
Codice:
String sql = "delete form prv_java_anagra where cognome = ?"; Non dovrebbe essere "from" ?? Il valore che devi confrontare (cognome) sembra essere associato ad un sql parameter (il tuo "?"), ma dove hai inizializzato il sql parameter per dirgli che il suo valore è "cognome" ?
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek ![]() |
![]() |
![]() |
![]() |
#6 | |
Senior Member
Iscritto dal: Jul 2002
Città: Soci (AR)
Messaggi: 841
|
Quote:
![]() ![]() ![]() ![]() 2 Giorni...D U E giorni... Adesso funziona tutto correttamente. Grazie mille.
__________________
...Fatti non foste a viver come bruti ma per seguir virtute e canoscenza... ...Excusatio non petita, accusatio manifesta... Bruno Boschi |
|
![]() |
![]() |
![]() |
#7 | |
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
Quote:
Se posso però darti un piccolo consiglio su una delete da una tabella, faresti meglio a non usare il cognome come valore di riferimento. Fin quando hai tutti cognomi diversi, va bene, ma se per caso hai due o più persone con lo stesso cognome le elimini tutte. Non avrebbe senso nemmeno metterci un LIMIT 1 per eliminarne uno solo... difatti come farebbe il programma a capire quale nello specifico eliminare?
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek ![]() |
|
![]() |
![]() |
![]() |
#8 | |
Senior Member
Iscritto dal: Jul 2002
Città: Soci (AR)
Messaggi: 841
|
Quote:
![]() Avevo pensato al problema di un doppio cognome, o anche di omonimia, e durante lo sviluppo di questo programmino vedrò di gestire tali circostanze. La mia attuale esigenza era che funzionasse quel metodo. E' un programma che stò "sviluppando" per togliermi un pò di ruggine e soprattutto per imparare un pò di basi di programmazione, quindi è tutt'altro che un'opera "perfetta" Grazie ancora ![]()
__________________
...Fatti non foste a viver come bruti ma per seguir virtute e canoscenza... ...Excusatio non petita, accusatio manifesta... Bruno Boschi |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 18:42.