Forums Register Login

Problem in getting date from JSP Form

+Pie Number of slices to send: Send
Hi,
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) {
e.printStackTrace();}

Now the problem arises when i am doing this:-

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

pstmt=con.prepareStatement(query);
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=pstmt.executeUpdate();

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.

Regards,
Mohsin
+Pie Number of slices to send: Send
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.

cheers
+Pie Number of slices to send: Send
Just a suggestion -
Try it out with DATETIME in SQL Server and java.sql.Timestamp in Java once.
+Pie Number of slices to send: Send
Hi,
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 java.sql.date using the following function:

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

java.sql.Date sqlDate=null;
try
{
SimpleDateFormat formatter = new SimpleDateFormat("mm/dd/yyyy");
sqlDate = new java.sql.Date(formatter.parse(date).getTime());
return sqlDate;
}
catch(Exception e)
{
e.printStackTrace();
}
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/1983.it gets stored in database as 1/25/1983.
Please help me on this matter.
+Pie Number of slices to send: Send
Mohsin,
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.
We don't have time to be charming! Quick, read this tiny ad:
a bit of art, as a gift, the permaculture playing cards
https://gardener-gift.com


reply
reply
This thread has been viewed 2395 times.
Similar Threads
Database Insert With java.util.Date
getting java.sql.Timestamp exception
Database Insert With java.util.Date
Problem in getting date from JSP Form
Problem in getting date from JSP Form
More...

All times above are in ranch (not your local) time.
The current ranch time is
Mar 28, 2024 15:24:54.