Hi,
I am trying to make a simple jsp program which eneters data eneterd by user in an html form called main.html.
This is the code for main.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> Benthic_query </TITLE>
</HEAD>
<BODY>
<form METHOD = POST ACTION="dataConnection.jsp">
Enter the name of the new table: <input type = text name = table_name size= 30>
<br>
Enter the number of the table: <input type = text name=table_number size=10>
<p> <input type = Submit>
</BODY>
</HTML>

And here is the code for dataConnection:

<%@ page import="java.sql.*" %>
<%@ page import="javax.servlet.*" %>
<%@ page import="javax.servlet.http.*" %>
<%
Connection conn = null;
try
{
String query = "insert into benthic_query values('"+name+"', '"+number+"')";
String userName = "root";
String password = "abc";
String url = "jdbc:mysql://localhost/test";
String name= request.getParameter("table_name");
String number = request.getParameter("table_number");

Class.forName ("com.mysql.jdbc.Driver").newInstance(); //Loading the driver
conn = DriverManager.getConnection(url, userName, password); //connect the appropriate driver to the database
System.out.println("Connection opened successfully");
Statement stmt = conn.createStatement (); //Statement object sends the SQL statement to the DBMS
stmt.executeUpdate ("query"); //executeQuery will return back some rows, executeUpdate does not return any rows

stmt.close();
System.out.println("Connection opened successfully");
}
catch (Exception e)
{
System.err.println("Cannot connect to the database");
}
finally 
{
if(conn != null)
{
try
{
conn.close();
System.out.println("Database connection closed successfully");
}
catch (Exception e)
{
}
}
}

// response.sendRedirect("success.htm");
%>
<html>
<body>
<p> <a href = "thanks.html">CONTINUE </a> </p>
</html>
</body>

And I am getting the following error as soon as I hit the submit button in main.html

[B]exception[/B] org.apache.jasper.JasperException: Unable to compile class for JSP
An error occurred at line: 7 in the jsp file: /sjagwani/dataConnection.jsp
Generated servlet error:C:\Jakarta\jakarta-tomcat-5.0.28\work\Catalina\localhost\_\org\apache\jsp\sjagwani\dataConnection_jsp.java:58: 
cannot find symbol
symbol : variable name
location: class org.apache.jsp.sjagwani.dataConnection_jsp 
String query = "insert into benthic_query values('"+name+"', '"+number+"')"; 
^An error occurred at line: 7 in the jsp file: /sjagwani/dataConnection.jspGenerated servlet error:C:\Jakarta\jakarta-tomcat-5.0.28\work\Catalina\localhost\_\org\apache\jsp\sjagwani\dataConnection_jsp.java:58: cannot find symbol
symbol : variable number
location: class org.apache.jsp.sjagwani.dataConnection_jsp 
String query = "insert into benthic_query values('"+name+"', '"+number+"')"; 
^2errors 
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:84) org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:332) org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:412) org.apache.jasper.compiler.Compiler.compile(Compiler.java:472) org.apache.jasper.compiler.Compiler.compile(Compiler.java:451) org.apache.jasper.compiler.Compiler.compile(Compiler.java:439) org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:295) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236) javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

Can someone please tell me where am I going worng.Thanks,

Edited 3 Years Ago by Dani: Fixed formatting

Hi
Did you find out the solution about how to enter the integer or datetime values from HTML form data???
If yes then please let me know what you did!!!

thanks

Hi

It shows that the variables number and name are undefined,So place the

String name= request.getParameter("table_name");
String number = request.getParameter("table_number");

before

String query = "insert into benthic_query values('"+name+"', '"+number+"')";


Regards,

You do I hope realise that it's very bad practice to do such things in a JSP?

Send the form submit to a servlet and do it there, then send the result of that operation back to a JSP for display.

This question has already been answered. Start a new discussion instead.