Java&JDBC - Получение значения из столбца
появилась проблема.
Есть база данных, и в ней есть таблица и столбцы. Нужно получить из столбца типа String значение, но так как я только сегодня начал знакомится с работой с базами данных в Java, то сделать тут мало чего могу.
Из интернета вычитал, вроде как способ получения, вот код:
ResultSet resultSet = statement.executeQuery("SELECT username FROM `Awesome database`");
System.out.println(resultSet);
String first = resultSet.getString("username");
Но он выводит программу в стек трейс:
java.sql.SQLException: Before start of result set
Возможно, что это к моей проблеме даже и не относится, я не знаю :D
Кто сможет помочь, буду благодарен :)
Ответы (2 шт):
Автор решения: Николай Гнап
→ Ссылка
Как вариант можно так попробовать.
public void idPhone(String username) throws SQLException {
try (Connection c = getConnection()) {
String sql = ""SELECT username FROM name database where username = ? ";
PreparedStatement ps = c.prepareStatement(sql);
ps.setString(1, username);
ps.execute();
ResultSet rs = ps.executeQuery();
while (rs.next()) {
String idPhone = rs.getString("username");
System.out.println(username);
}
}
}
public static Connection getConnection() throws SQLException {
return DriverManager.getConnection("jdbc:mysql://localhost:3306/usb_key", "root", "root");
}
Автор решения: Barmaley Red Star
→ Ссылка
java.sql.SQLException: Before start of result set
Означает, что надо сдвинуть указатель ResultSet перед тем как прочитать его значение, обычно делается так:
ResultSet resultSet = statement.executeQuery("SELECT username FROM `Awesome database`");
while(rs.next()) { //сдвижка указателя
String first = resultSet.getString("username");
}