Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [JAVA] Problemi con SQL count

    Scusate se insisto, ma il count mi da dei problemi.
    Ho letto una precedente discussione proprio su questo argomento e ho seguito alla lettera i suggerimenti però la JVM mi da una SQLException run-time.

    Vi do il codice:

    public int getNumeroMp3() throws SQLException {

    int numero=0;

    Connection conn;

    conn = DriverManager.getConnection(URL, USER, PASSWD);

    ResultSet rs;
    Statement st = conn.createStatement();

    rs=st.executeQuery("select count(*)as nummp3 from mp3");
    numero=rs.getInt("nummp3");


    return numero;
    }

    E la eccezione:

    java.sql.SQLException: Before start of result set
    at com.mysql.jdbc.ResultSet.checkRowPos(ResultSet.jav a:3624)
    at com.mysql.jdbc.ResultSet.getString(ResultSet.java: 1762)
    at com.mysql.jdbc.ResultSet.getInt(ResultSet.java:125 5)
    at lyrics.DBMS.getNumeroMp3(DBMS.java:296)
    at lyrics.DBMS.main(DBMS.java:413)
    Exception in thread "main"

    Cosa posso fare??
    grazie

    PS=uso MySQL

  2. #2
    Il messaggio di errore indica che il tuo ResultSet e' posizionato prima del 1° record ritornato dalla query.

    Un resultSet non e' altro che un puntatore che punta ad un record tra quelli restituiti dalla query.

    Appena creato non punta ad alcun record, poi puoi farlo scorrere da un record all'altro con
    codice:
    rs.next()
    che ti ritorna un boolean a seconda che tu sia arrivato in fondo ai record o meno.

    Quindi e' sufficiente correggere il programma con :
    codice:
    rs=st.executeQuery("select count(*)as nummp3 from mp3");
    if (rs.next())
       numero=rs.getInt("nummp3");
    S.O. : Ubuntu 5.04
    Lang : J2*E,PHP,tcl/tk

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.