Я пытаюсь вернуть значение из оператора select. Его единственное значение, потому что возвращаемое мной значение происходит из столбца первичного ключа.Получение одного значения из оператора SQL select в Java
SQL-оператор является SELECT itemNo FROM item WHERE itemName = 'astringvalue';
Мой метод для получения значения выглядит следующим образом:
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.toString();
}
catch (SQLException e)
{
e.printStackTrace();
}
finally
{
if (stmt !=
null) { stmt.close(); }
}
return value;
}
У меня есть метод getConnection()
тоже.
Вот что им с помощью вызвать метод viewValue
:
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);
}
Код выше был написан для ButtonHandler
Прямо сейчас, для println
я получаю «[email protected]
» .. Я не понимаю, как это происходит. Но я предполагаю, что ResultSet - неправильный выбор здесь.
Мой вопрос: что я могу использовать там, который может работать?
Любая помощь или подсказка относительно того, что я делаю неправильно, очень ценится.
Вам нужно 'value = rs.getString (1);' – OldCurmudgeon
И измените 'while (rs.next())' на 'if (rs.next())', поскольку вам нужно только одно значение. – qkzhu