SQLException: Pas de valeur spécifiée pour le paramètre 1

J'ai rencontré l'erreur suivante quand j'étais de l'exécution de ma demande:

java.sql.SQLException: Pas de valeur spécifiée pour le paramètre 1

Ça veut dire quoi?

Mon UserGroup liste dans mon dao:

public List<UsuariousGrupos> select(Integer var) {
    List<UsuariousGrupos> ug= null;
    try {
        conn.Connection();
        stmt = conn.getPreparedStatement("select id_usuario, id_grupo from usuarios_grupos where id_grupo ='" + var + "'");
        ResultSet rs = stmt.executeQuery();
        ug = new ArrayList<UsuariousGrupos>();
        while (rs.next()) {
            ug.add(getUserGrupos(rs));
        }
    } catch (SQLException e) {
        e.printStackTrace();
    } finally {
        conn.Disconnected();
    }
    return ug;
}

public UsuariousGrupos getUserGrupos(ResultSet rs) {
    try {
        UsuariousGrupos ug = new UsuariousGrupos(rs.getInt("id_usuario"), rs.getInt("id_grupo"));
        return ug;
    } catch (SQLException e) {
        e.printStackTrace();
    }
    return null;
}

Mon obtenir la liste des groupes d'Utilisateurs dans mon managed bean:

public List<UsuariousGrupos> getListOfUserGroups() {
    List<UsuariousGrupos> usuariosGruposList = userGrpDAO.select(var2);
    listOfUserGroups = usuariosGruposList;
    return listOfUserGroups;
}

Mon JSF page:

 <p:dataTable var="usergroups" value="#{usuariousGruposBean.listOfUserGroups}">
     <p:column headerText="" style="height: 0" rendered="false">
         <h:outputText value="#{usergroups.id_grupo}"/>
     </p:column>

Ma table de données est capable d'afficher la liste des groupes de la base de données. Cependant, lorsque je sélectionne une ligne individuelle au sein de mon tableau de données, il faut un certain temps pour que la demande d'établissement de connexion avec ma base de données pour afficher le résultat sélectionné.

Aussi, c'est bizarre que l'application est capable d'afficher certains des résultats plus rapidement que les autres. A-t-elle quelque chose à voir avec l'Exception que j'ai souligné au début?

Erreur:

Disconnected
Connected!!
java.sql.SQLException: No value specified for parameter 1
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1075)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:989)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:984)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:929)
    at com.mysql.jdbc.PreparedStatement.checkAllParametersSet(PreparedStatement.java:2560)
    at com.mysql.jdbc.PreparedStatement.fillSendPacket(PreparedStatement.java:2536)
    at com.mysql.jdbc.PreparedStatement.fillSendPacket(PreparedStatement.java:2462)
    at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:2216)
    at br.dao.UsuariousGruposDAO.select(UsuariousGruposDAO.java:126)
    at br.view.UsuariousGruposBean.getListOfUserGroups(UsuariousGruposBean.java:54)


SEVERE: Error Rendering View[/index.xhtml]
javax.el.ELException: /index.xhtml @61,99 value="#{usuariousGruposBean.listOfUserGroups}": Error reading 'listOfUserGroups' on type br.view.UsuariousGruposBean
    at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:114)
    at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:194)
    at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:182)
à la ligne à laquelle l'erreur se produit?
l'erreur se produit lors de ces deux lignes: ResultSet rs = stmt.executeQuery(); List<UsuariousGrupos> usuariosGruposList = userGrpDAO.sélectionnez(var2);
êtes-vous sûr que vous sélectionnez n'est pas "sélectionnez id_usuario, id_grupo de usuarios_grupos où id_grupo = ?". Cela expliquerait le manque de valeur pour le paramètre 1.
humm j'ai effectivement essayé, et j'obtiens l'erreur suivante.
la nouvelle erreur semble être un nouveau problème. Peut-être que vous devriez ouvrir une nouvelle question et accepter une solution pour le sql exception ici.

OriginalL'auteur ShaunK | 2011-11-18