У меня проблемы с вставкой данных в мою базу данных mysql с помощью Java

Может ли кто-нибудь сказать, как я могу изменить свой код, чтобы сохранить данные в своей базе данных.
Мой код:

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. Я новичок в этом, поэтому был бы признателен, если бы кто-нибудь сказал мне, что изменить.
Спасибо!

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
0
30
1

Ответы 1

Объект 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, я хочу сохранить данные оттуда в свою базу данных. Спасибо за ваш ответ

Alina Ali 18.03.2018 22:23

Другие вопросы по теме