Как я могу вставить значение в мою таблицу со специальным условием? - PullRequest
0 голосов
/ 20 декабря 2018

Я хочу сохранить значение String div в столбце таблицы с именем BASKET.Но в нем должна храниться строка, в которой столбец id - это str, который задается атрибутом сеанса.Переменные str и div имеют значения.Я думаю, что сообщение об ошибке ORA-00933 о запросе sql.Есть ли у моего запроса проблемы?Пожалуйста, дайте мне знать, как я могу справиться с этим.

<%
    session.getAttribute("id");
    String str = session.getAttribute("id").toString();
        String div = request.getParameter("div");

Class.forName("oracle.jdbc.driver.OracleDriver");

Connection conn = null;
PreparedStatement pstmt = null; 



try{
    String jdbcDriver = "jdbc:oracle:thin:@localhost:1521:xe";
    String dbUser = "scott";
    String dbPass = "1111";

    conn = DriverManager.getConnection(jdbcDriver,dbUser,dbPass);
    pstmt = conn.prepareStatement(
        "insert into NEW_MEMBER(BASKET) values(?) where id = str "); 

    pstmt.setString(1, div);


    pstmt.executeUpdate();


}finally{
    if(pstmt!=null)try{pstmt.close();}catch(SQLException ex){}
    if(conn!=null)try{conn.close();}catch(SQLException ex){}
}

%>

1 Ответ

0 голосов
/ 20 декабря 2018

Я думаю, вам нужно обновление здесь:

pstmt = conn.prepareStatement("UPDATE NEW_MEMBER SET BASKET = ? WHERE id = ?"); 

pstmt.setString(1, div);
pstmt.setString(2, str);

Как я уже упоминал в комментариях, имеет смысл использовать предложение WHERE со вставкой, если выиспользуя другую таблицу для вставки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...