2015-09-10 4 views
0

У меня проблема с обновлением личной информации в моей таблице базы данных, потому что я просто новый для netbeans. это покажет мне эту ошибку.Вставка личных данных в базу данных Таблица

HTTP Status 500 - Internal Server Error 
type Exception report 
messageInternal Server Error 
descriptionThe server encountered an internal error that prevented it from fulfilling this request. 
exception 
javax.servlet.ServletException: java.sql.SQLSyntaxErrorException: 'CURDATE' is not recognized as a function or procedure. 
root cause 
java.sql.SQLSyntaxErrorException: 'CURDATE' is not recognized as a function or procedure. 
root cause 
org.apache.derby.client.am.SqlException: 'CURDATE' is not recognized as a function or procedure. 
note The full stack traces of the exception and its root causes are available in the GlassFish Server Open Source Edition 4.1 logs. 

Register.jsp

<%@ page import ="java.sql.*" %> 

<% 
String fname = request.getParameter("first");  
String lname = request.getParameter("last"); 
String email = request.getParameter("email"); 
String gender = request.getParameter("gender"); 
String dob = request.getParameter("dob"); 
String user = request.getParameter("userID"); 
String pass = request.getParameter("pass"); 

Class.forName("org.apache.derby.jdbc.ClientDriver"); 
Connection con = DriverManager.getConnection("jdbc:derby://localhost:1527/Parts"); 
Statement st = con.createStatement(); 


int i = st.executeUpdate("insert into ADMIN(firstname, lastname, email,gender, userid, password, dob, regdate) values ('" + fname + "','" + lname + "','" + email + "','" + gender + "','"+ user +"','" + pass + "','" + dob +"', CURDATE())"); 

    if (i > 0) { 

    response.sendRedirect("welcome.jsp"); 

} else { 
    response.sendRedirect("login.jsp"); 
} 

%> 

mainRegister.jsp

%@page contentType="text/html" pageEncoding="UTF-8"%> 

    <!DOCTYPE html> 

    <html> 

    <head> 

    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 

    <title>Personal Detail</title> 

    </head> 



    <body> 

    <h1 align="left">Personal Detail</h1> 

    <form name="myform" action="display.jsp" method="POST"> 


     <table border="0"> 
      <tbody> 
       <tr> 
        <td>First Name : </td> 
        <td><input type="text" name="first" required="required" size="50" value=""> 

        </td> 
       </tr> 
       <tr> 
        <td>Last Name : </td> 
        <td><input type="text" name="last" required="required" size="50" value="" /></td> 
       </tr> 
       <tr> 
        <td>Email Address : </td> 
        <td><input type="text" name="email" required="required" size="50" value=""/></td> 
       </tr> 
       <tr> 
        <td> 
         <input type="radio" name="gender" value="Male">Male 
        </td> 
        <td> 
         <input type="radio" name="gender" value="Female">Female 
        </td> 
       </tr> 
       <tr> 
        <td>Date Of Birth : </td> 
        <td><input type="text" name="dob" value="DD/MM/YYYY" required="required" size="15" value=""/></td> 
       </tr> 
       <tr> 
        <td>User Name : </td> 
        <td><input type="text" name="userID" required="required" size="15" value=""/></td> 
       </tr> 
       <tr> 
        <td>Password : </td> 
        <td><input type="password" name="pass" required="required" size="15" value=""/></td> 
       </tr> 
       <tr> 
        <td>Confirm Password : </td> 
        <td><input type="password" name="pass" required="required" size="15" value=""/></td> 
       </tr> 
        <tr> 
        <td colspan="2">Already registered!! <a href="login.jsp">Login Here</a></td> 
       </tr> 
      </tbody> 
     </table> 
     <input type="reset" value="Clear" name="clear" /> 
     <input type="submit" value="Submit" name="submit" /> 

ответ

0

Сообщение об ошибке ясно, CURDATE() не является функцией или процедурой в вашей базе данных.

Если вы хотите вставить текущую дату, используйте CURRENT_DATE в запросе.

int i = st.executeUpdate("insert into ADMIN(firstname, lastname, email,gender, userid, password, dob, regdate) values ('" + fname + "','" + lname + "','" + email + "','" + gender + "','"+ user +"','" + pass + "','" + dob +"', CURRENT_DATE)"); 

Я предложил бы использовать PreparedStatement вместо Statement

+0

Большое спасибо –

+0

Hi @ Karthilkeyan Vaithilingam, я все еще возникают ошибки на этом. Очень большое спасибо за вашу помощь. –

+0

HTTP-статус 500 - Внутренний сервер Тип ошибки Сообщение об отмене messageInternal. Описание ошибки сервера. Сервер обнаружил внутреннюю ошибку, которая помешала ему выполнить этот запрос. exceptionjavax.servlet.ServletException: java.sql.SQLDataException: –

Смежные вопросы