|
| HOMEPAGE | INDICE FORUM | REGOLAMENTO | ::. | NEI PREFERITI | .:: | RSS Forum | RSS News | NEWS web | NEWS software | |
| PUBBLICITA' | | | ARTICOLI | WIN XP | VISTA | WIN 7 | REGISTRI | SOFTWARE | MANUALI | RECENSIONI | LINUX | HUMOR | HARDWARE | DOWNLOAD | | | CERCA nel FORUM » | |
17-07-2008, 23.25.22 | #1 |
Made in Japan
Top Poster
Registrato: 04-07-2001
Messaggi: 4.461
|
[MySQL] SQLException: Before start of result set
Che problema c'è con quella SELECT? Codice:
ConnectionManager connection = ConnectionManager.getInstance(); Connection conn = connection.getConnection(); Statement stmt = conn.createStatement(); ResultSet rs = null; rs = stmt.executeQuery("SELECT conto FROM possiede WHERE cliente='"+username+"';"); if(rs.next() == false) esitoRicarica = false; else { int conto = rs.getInt("conto"); rs = stmt.executeQuery("SELECT saldo FROM conto WHERE numeroconto="+conto+";"); double residuo = rs.getDouble("saldo"); double nuovoSaldo = residuo+importo; int count = stmt.executeUpdate("UPDATE conto SET saldo="+nuovoSaldo+" where numeroconto="+conto+";"); if(count == 0) esitoRicarica = false; else esitoRicarica = true; } |
18-07-2008, 08.59.38 | #2 |
Senior Member
Registrato: 21-03-2008
Loc.: From Lugano (CH)...finally!
Messaggi: 330
|
L'unica possibilità è che quella username non esista...per il resto mi sembra corretta...ti consiglio però di usare un PreparedStatement invece dello statement...
Codice:
PreparedStatement pst = conn.prepareStatement("SELECT conto FROM possiede WHERE cliente = ?"); pst.setString(1, username); rs = pst.executeQuery(); Ultima modifica di shadowDK : 18-07-2008 alle ore 09.07.11 |
18-07-2008, 13.03.09 | #3 |
Made in Japan
Top Poster
Registrato: 04-07-2001
Messaggi: 4.461
|
L'istruzione è SQL è giusta, perché se la scrivo a mano nella console di mysql mi restituisce il valore che mi aspetto.
Ho risolto facendo un join in questo modo: Codice:
ConnectionManager connection = ConnectionManager.getInstance(); Connection conn = connection.getConnection(); Statement stmt = conn.createStatement(); ResultSet rs = null; rs = stmt.executeQuery("SELECT conto.saldo,possiede.conto FROM conto,possiede WHERE conto.numeroconto=possiede.conto and possiede.cliente='"+username+"';"); if(rs.next() == false) esitoRicarica = false; else { int conto = rs.getInt("possiede.conto"); double residuo = rs.getDouble("conto.saldo"); double nuovoSaldo = residuo+importo; int count = stmt.executeUpdate("UPDATE conto SET saldo="+nuovoSaldo+" where numeroconto="+conto+";"); if(count == 0) esitoRicarica = false; else esitoRicarica = true; } Per i prepared statement... vedrò di usarli Grazie. |
18-07-2008, 15.02.24 | #4 |
Senior Member
Registrato: 21-03-2008
Loc.: From Lugano (CH)...finally!
Messaggi: 330
|
Effettivamente avevo letto male...a te dava problemi sulla select dentro l'else, quindi la username esiste...su db, nella tabella conto, come dichiari numeroconto? Giusto per curiosità...
|
18-07-2008, 16.04.38 | #5 |
Made in Japan
Top Poster
Registrato: 04-07-2001
Messaggi: 4.461
|
numeroconto int not null auto_increment
|
Utenti attualmente attivi che stanno leggendo questa discussione: 1 (0 utenti e 1 ospiti) | |
Strumenti discussione | |
|
|
Discussioni simili | ||||
Discussione | Autore discussione | Forum | Risposte | Ultimo messaggio |
Service pack 1 problemi | tr0tj | Windows 7/Vista/XP/ 2003 | 13 | 05-11-2008 18.29.36 |
Tidy Start Menu 3.23 | Thor | Archivio News Software | 2 | 27-11-2006 17.20.05 |
Tidy Start Menu 3.21 | Thor | Archivio News Software | 0 | 13-11-2006 10.14.01 |
Tidy Start Menu 3.0 | Thor | Archivio News Software | 4 | 08-06-2006 08.19.23 |
HELP PER IMMAGINI VIRTUALI | saveliev | Masterizzazione Giochi Games | 31 | 29-04-2004 19.23.48 |