JSP код всегда показывает ошибку при наборе результатов? - PullRequest
0 голосов
/ 07 марта 2019

Я получаю сообщение об ошибке, как показано ниже

Сообщение об ошибке

Мой код: -

String query="insert into student(stdid,sname,branch,email,phone)values(' "+htno+" ',' "+sname+" ',' "+branch+" ',' "+email+" ',' "+phone+" ')";
Statement stm=con.createStatement();
rs=st.executeQuery(query);

Ответы [ 2 ]

1 голос
/ 07 марта 2019

Если вы хотите использовать Statement, измените строку на

String query = "INSERT INTO student(stdid,sname,branch,email,phone) VALUES (\'" +
    htno +
    "\', \'" +
    sname +
    "\', \'" +
    branch +
    "\', \'" +
    email +
    "\', \'" +
    phone +
    "\')";

Но я рекомендую вам использовать PreparedStetement для защиты вашего приложения от SQL-инъекций, тогда ваш запрос будет выглядеть так:

    PreparedStatement st = con.prepareStatement();
    String SQL_CREATE_STUDENT = "INSERT INTO student(stdid,sname,branch,email,phone) VALUES (?,?,?,?,?)";
    st.setInt(1, id);
    st.setString(2, sName);
    st.setString(3, branch);
    ...

подробнее: https://docs.oracle.com/javase/7/docs/api/java/sql/PreparedStatement.html

0 голосов
/ 07 марта 2019

С минимальной доступной информацией все, что я могу сказать: если объект "con" равен нулю, то при вызове "con.createStatement ();"возникнет исключение с нулевым указанием.

Пожалуйста, поделитесь более подробной информацией, чтобы устранить эту проблему далее.


Спасибо, что поделились журналами и кодом, полезно проанализировать проблему.Я прошел через трассировку стека и код приложения.Ниже приведенный фрагмент кода присваивает значение stdid

String htno = request.getParameter("stdid");

Код завершается ошибкой с исключением Nullpointer при выполнении ниже строки

ResultSet rs2=pst2.executeQuery();

Трассировка стека показывает ошибку ниже

javax.servlet.ServletException: java.sql.SQLException: ORA-01400: cannot insert NULL into ("SYSTEM"."STUDENT"."STDID")

Приведенное выше сообщение указывает, что значение, предоставленное для STDID, является нулевым.Это причина ошибки.Если вы отлаживаете и проверяете значение «htno», вы можете проверить это.

...