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 Ma méthode pour obtenir la valeur ressemble à ceci: p> Sélectionnez l'élémentNo à partir de l'élément où itemName = 'astringvalue'; code> 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);
}
6 Réponses :
Modification:
value = rs.getString(1);
Utiliser rs.get (1) code> ou
RS.GetString (1) code> pour récupérer la valeur réelle du
Resultset code>. Ensuite, lisez un tutoriel JDBC. P>
value = rs.getString("itemNo");
Vous devez modifier
while (rs.next()) value = rs.getString("itemNo");
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; }
Changez-le à
rs.getString("itemNo");
Vous avez besoin de
valeur = rs.getstring (1); code>
Et changez
pendant (rs.next ()) code> à
if (rs.next ()) code> 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.