7
votes

Obtenir une valeur de SQL Select Domont de java

J'essaie de retourner une valeur d'une instruction SELECT. Sa seule valeur, car la valeur que je retourne est de la colonne clé principale.

L'instruction SQL est Sélectionnez l'élémentNo à partir de l'élément où itemName = 'astringvalue'; code> p>

Ma méthode pour obtenir la valeur ressemble à ceci: p>

if((action.getSource() == btnSave) ||(action.getSource() == btnSavePrint) )
        {
            String findItemNoCommand = "SELECT itemNo FROM `item` WHERE itemName = '" + itemList.getSelectedItem() + "'";

            try 
            {
                itemNo = viewValue(conn, findItemNoCommand);
            }
            catch (SQLException e) 
            {
                e.printStackTrace();
            }

            System.out.println(itemNo);
        }


3 commentaires

Vous avez besoin de valeur = rs.getstring (1);


Et changez pendant (rs.next ()) à if (rs.next ()) puisque vous n'avez besoin que d'une seule valeur.


Vous devez utiliser avec des ressources lorsque cela est possible ( docs.oracle.com/javase / Tutoriel / Essential / Exceptions / ... ). Cela éliminerait enfin le bloc de votre code.


6 Réponses :


3
votes

Modification:

value = rs.getString(1);


0 commentaires

2
votes

Utiliser rs.get (1) ou RS.GetString (1) pour récupérer la valeur réelle du Resultset . Ensuite, lisez un tutoriel JDBC.


0 commentaires

11
votes
value = rs.getString("itemNo");

0 commentaires

1
votes

Vous devez modifier

 while (rs.next())
    value = rs.getString("itemNo");


0 commentaires

0
votes

Essayez ceci:

private String viewValue(Connection con, String command) throws SQLException 
{
    String value = null;
    Statement stmt = null;

    try 
    {
        stmt = con.createStatement();
        ResultSet rs = stmt.executeQuery(command);

        while (rs.next())
            value = rs.getString(1);
    } 

    catch (SQLException e ) 
    {
        e.printStackTrace();
    } 

    finally
    {
        if (stmt != 
        null) { stmt.close(); }
    }

    return value;

}


0 commentaires

2
votes

Changez-le à

rs.getString("itemNo");


0 commentaires