File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes JDBC and Relational Databases 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 Java Interview Guide this week in the Jobs Discussion forum!
JavaRanch » Java Forums » Databases » JDBC and Relational Databases
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: 33132

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.

[OCA 8 book] [Blog] [JavaRanch FAQ] [How To Ask Questions The Smart Way] [Book Promos]
Other Certs: SCEA Part 1, Part 2 & 3, Core Spring 3, TOGAF part 1 and part 2
I agree. Here's the link:
subject: Problem in getting date from JSP Form
jQuery in Action, 3rd edition