Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Samsung Galaxy S25 Edge: il top di gamma ultrasottile e leggerissimo. La recensione
Samsung Galaxy S25 Edge: il top di gamma ultrasottile e leggerissimo. La recensione
Abbiamo provato il nuovo Galaxy S25 Edge, uno smartphone unico per il suo spessore di soli 5,8 mm e un peso super piuma. Parliamo di un device che ha pro e contro, ma sicuramente si differenzia dalla massa per la sua portabilità, ma non senza qualche compromesso. Ecco la nostra prova completa.
HP Elitebook Ultra G1i 14 è il notebook compatto, potente e robusto
HP Elitebook Ultra G1i 14 è il notebook compatto, potente e robusto
Pensato per il professionista sempre in movimento, HP Elitebook Ultra G1i 14 abbina una piattaforma Intel Core Ultra 7 ad una costruzione robusta, riuscendo a mantenere un peso contenuto e una facile trasportabilità. Ottime prestazioni per gli ambiti di produttività personale con un'autonomia lontano dalla presa di corrente che permette di lavorare per tutta la giornata
Microsoft Surface Pro 12 è il 2 in 1 più compatto e silenzioso
Microsoft Surface Pro 12 è il 2 in 1 più compatto e silenzioso
Basato su piattaforma Qualcomm Snapdragon X Plus a 8 core, il nuovo Microsoft Surface Pro 12 è un notebook 2 in 1 molto compatto che punta sulla facilità di trasporto, sulla flessibilità d'uso nelle differenti configurazioni, sul funzionamento senza ventola e sull'ampia autonomia lontano dalla presa di corrente
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 09-07-2007, 09:11   #1
ShadowX84
Senior Member
 
L'Avatar di ShadowX84
 
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
ShadowX84 è offline   Rispondi citando il messaggio o parte di esso
Old 09-07-2007, 09:19   #2
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da ShadowX84 Guarda i messaggi
dbst.setString(3, cognome);
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%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 09-07-2007, 09:29   #3
ShadowX84
Senior Member
 
L'Avatar di ShadowX84
 
Iscritto dal: Jul 2002
Città: Soci (AR)
Messaggi: 841
Quote:
Originariamente inviato da andbin Guarda i messaggi
A "occhio" (e nota non conoscendo JDBC), direi che quel 3 non va, visto che hai solo 1 parametro.

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
ShadowX84 è offline   Rispondi citando il messaggio o parte di esso
Old 09-07-2007, 12:00   #4
ShadowX84
Senior Member
 
L'Avatar di ShadowX84
 
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
ShadowX84 è offline   Rispondi citando il messaggio o parte di esso
Old 09-07-2007, 13:12   #5
RaouL_BennetH
Senior Member
 
L'Avatar di RaouL_BennetH
 
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" ??
Inoltre ho un altro piccolo dubbio;

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
RaouL_BennetH è offline   Rispondi citando il messaggio o parte di esso
Old 09-07-2007, 13:43   #6
ShadowX84
Senior Member
 
L'Avatar di ShadowX84
 
Iscritto dal: Jul 2002
Città: Soci (AR)
Messaggi: 841
Quote:
Originariamente inviato da RaouL_BennetH Guarda i messaggi
Non è che semplicemente hai sbagliato a scrivere nel comando sql?

Codice:
String sql = "delete form prv_java_anagra where cognome = ?";

Non dovrebbe essere "from" ??
Inoltre ho un altro piccolo dubbio;

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" ?
===> ===> ===>

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
ShadowX84 è offline   Rispondi citando il messaggio o parte di esso
Old 09-07-2007, 13:59   #7
RaouL_BennetH
Senior Member
 
L'Avatar di RaouL_BennetH
 
Iscritto dal: Sep 2004
Messaggi: 3967
Quote:
Originariamente inviato da ShadowX84 Guarda i messaggi
===> ===> ===>

2 Giorni...D U E giorni...

Adesso funziona tutto correttamente.
Grazie mille.
Di nulla...

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
RaouL_BennetH è offline   Rispondi citando il messaggio o parte di esso
Old 09-07-2007, 14:08   #8
ShadowX84
Senior Member
 
L'Avatar di ShadowX84
 
Iscritto dal: Jul 2002
Città: Soci (AR)
Messaggi: 841
Quote:
Originariamente inviato da RaouL_BennetH Guarda i messaggi
Di nulla...

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?
I consigli son sembre bene accetti

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
ShadowX84 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Samsung Galaxy S25 Edge: il top di gamma ultrasottile e leggerissimo. La recensione Samsung Galaxy S25 Edge: il top di gamma ultraso...
HP Elitebook Ultra G1i 14 è il notebook compatto, potente e robusto HP Elitebook Ultra G1i 14 è il notebook c...
Microsoft Surface Pro 12 è il 2 in 1 più compatto e silenzioso Microsoft Surface Pro 12 è il 2 in 1 pi&u...
Recensione REDMAGIC Astra Gaming Tablet: che spettacolo di tablet! Recensione REDMAGIC Astra Gaming Tablet: che spe...
Dopo un mese, e 50 foto, cosa abbiamo capito della nuova Nintendo Switch 2 Dopo un mese, e 50 foto, cosa abbiamo capito del...
Alchimia? No, scienza: ecco come produrr...
Il CISPE chiede di annullare l'acquisizi...
La Now Bar supporterà il doppio d...
Vecchi Bitcoin, guadagno mostruoso: bale...
Nel 2018 Samsung snobbò NVIDIA: u...
Provare i vestiti senza mai uscire di ca...
SanDisk High Bandwidth Flash (HBF): un c...
Panasonic presenta Aquarea DHW, pompa di...
Il bracciale Meta leggerà i gesti...
iOS e Android sotto attacco: per l'antit...
A Verona dopo i monopattini ecco le e-bi...
Itch.io come Steam: al bando i giochi pe...
Digitalizzazione, identità e AI: ...
Kindle Colorsoft: arriva la versione da ...
Electra ottiene altri 433 milioni di eur...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 18:42.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v