aspose file tools*
The moose likes JDBC and the fly likes Problem in getting date from JSP Form Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of Soft Skills this week in the Jobs Discussion forum!
JavaRanch » Java Forums » Databases » JDBC
Bookmark "Problem in getting date from JSP Form" Watch "Problem in getting date from JSP Form" New topic

Problem in getting date from JSP Form

mohsin sheikh

Joined: Mar 28, 2007
Posts: 22
I am implenting a project on Library Management System(Web application).
I have a form as New User Registration Form in which user enters his/her information.There is one field as DateOfBirth which takes input as string(i.e date of birth of the user).Now I am extracting this inputs in Servlet.
My aim is to insert these inputs in a user table.I am using SQL Server 2000.
I am using Prepared Statement for Insert query.I convert the date of birth which is in string to java.sql.Date object using the following code:-

java.util.Date d=null;
java.sql.Date dateofbirth=null;

try {
SimpleDateFormat formatter = new SimpleDateFormat("dd/mm/yyyy");
dateofbirth = new java.sql.Date(formatter.parse(dob).getTime());

} catch(Exception e) {

Now the problem arises when i am doing this:-

query="Insert into USERDETAILS values(?,?,?,?,?,?,?,?,?,?,?)";

pstmt.setString(1, userid);
pstmt.setString(2, name);
******* pstmt.setDate(3, dateofbirth);
pstmt.setString(4, gender);
pstmt.setString(5, address);
pstmt.setString(6, city);
pstmt.setString(7, state);
pstmt.setString(8, country);
pstmt.setString(9, phone);
pstmt.setString(10, email);
pstmt.setString(11, occupation);

I am getting error in "pstmt.setDate(3, dateofbirth);".
It gives error like "java.sql.SQLException: [Microsoft][ODBC SQL Server Driver]Optional feature not implemented"

This is the error i m getting.Please help me in this matter.I will be very thankful to you.

Amarender Reddy
Ranch Hand

Joined: May 12, 2005
Posts: 54
The JDBC/ODBC driver does not provide a complete set of JDBC 2.0 features so this example must result in a call that is not supported in the driver. You could try using the Microsoft JDBC driver or the JDTS driver. They should provide better performance as well.

Pradnya Markale

Joined: Oct 31, 2006
Posts: 2
Just a suggestion -
Try it out with DATETIME in SQL Server and java.sql.Timestamp in Java once.
mohsin sheikh

Joined: Mar 28, 2007
Posts: 22
Thankyou for your replies.Now the problem is solved.Now i am using different Driver i.e sql driver(Type4).Now again some problems comes out.When the user enter Date in String form ,i convert that date in using the following function:

private java.sql.Date dateConverter(String date) {

java.sql.Date sqlDate=null;
SimpleDateFormat formatter = new SimpleDateFormat("mm/dd/yyyy");
sqlDate = new java.sql.Date(formatter.parse(date).getTime());
return sqlDate;
catch(Exception e)
return null;

The problem now is that when the user enters some date,then that date gets changed e.g
when the user enters 25/07/ gets stored in database as 1/25/1983.
Please help me on this matter.
Jeanne Boyarsky
author & internet detective

Joined: May 26, 2003
Posts: 31054

25/07/1983 is not in the format mm/dd/yyyy. In particular, 25 is not a valid month. Java is guessing at what you mean.

[Blog] [JavaRanch FAQ] [How To Ask Questions The Smart Way] [Book Promos]
Blogging on Certs: SCEA Part 1, Part 2 & 3, Core Spring 3, OCAJP, OCPJP beta, TOGAF part 1 and part 2
I agree. Here's the link:
subject: Problem in getting date from JSP Form