Может ли кто-нибудь сказать, как я могу изменить свой код, чтобы сохранить данные в своей базе данных.
Мой код:
private Class nextPage;
@OnEvent(component = "submitButton")
Object onSubmitFromSubmitButton()
{
String flag = "";
String jndiname = "jdbc/TestDB";
DataSource dataSource=null;
try{
dataSource=(DataSource) new InitialContext().lookup("java:comp/env/" + jndiname);
Connection con=dataSource.getConnection();
Statement stm=con.createStatement();
ResultSet rs=stm.executeQuery("insert into recenzii (numeRecenzor,nivelIncredere,idHotel,recenzie) values (?,?,?,?)");
ResultSetMetaData rsmd=rs.getMetaData();
while(rs.next())
{
rs.getString("numeRecenzor");
rs.getString("recenzie");
rs.getInt("nivelIncredere");
rs.getInt("idHotel");
}
}catch (Exception e){flag+=e.toString();}
if (dataSource!=null)
flag+ = " succes";
System.out.println("Datele au fost trimise cu succes! "+flag);
return nextPage;
}
}
Я попытался поставить ExecuteUpdate или Execute вместо ExecuteQuery, но у меня возникли ошибки в коде, в котором говорится, что он не может преобразовать тип int в ResultSet. Я новичок в этом, поэтому был бы признателен, если бы кто-нибудь сказал мне, что изменить.
Спасибо!




Объект ResultSet используется для извлечения данных из базы данных. Если вы хотите вставить данные, вы можете либо предоставить данные для вставки в запрос, либо вызвать stm.executeUpdate ("вставить ...") или вы можете использовать PreparedStatement (есть другие варианты, но они самые простые).
Вы можете попробовать что-то подобное:
PreparedStatement preparedStatement = con.prepareStatement("insert into recenzii (numeRecenzor,nivelIncredere,idHotel,recenzie) values (?,?,?,?)");
preparedStatement.setString(1, "val1");
preparedStatement.setString(2, "val2");
preparedStatement.setInt(3, 3);
preparedStatement.setInt(4, 4);
preparedStatement.executeUpdate();
Я заменяю свой код из ResultSet на ваш, но ничего не произошло. У меня есть форма редактирования bean-компонентов в моем приложении, и когда я нажимаю кнопку SUBMIT, я хочу сохранить данные оттуда в свою базу данных. Спасибо за ваш ответ