i have encounterd 2 problems in inserting date and time into ms sql server 2000.

1st problem (date). Error: 500 will be occurred when i submit the form without filling the result_date field. but the date can be added into database when i filled the result_date field.
----------------------------------------------------------------------------
Internal Servlet Error:

java.lang.IllegalArgumentException
at java.sql.Date.valueOf(Date.java:100)...
-----------------------------------------------------------------------------

2nd problem (time): I can add the time without any exceptions into database but the format is wrong. "1/1/1900 9:00:00" is added but i don't want the date part. I need the time only.

here is my code:
----------------------------------------------------------------------------
import java.util.*;
import java.sql.*;
import javax.servlet.http.*;

public class LeaveAppBean implements java.io.Serializable {

//Member variables
private java.sql.Date resultDate;
private java.sql.Time startTimeFrom;

//constructor

public LeaveAppBean() {
//initialize properties
setResultDate(null);
setStartTimeFrom(0, 0);
}

public void populateParams(HttpServletRequest request) {

//populate bean properties from request parameters
if (request.getParameter("result_date") != null) {
setResultDate(java.sql.Date.valueOf(request.getParameter("result_date")));
}
setStartTimeFrom(Integer.parseInt(request.getParameter("start_from_hr")), Integer.parseInt(request.getParameter("start_from_min")));

}

/*accessor methods*/

//Result date of Examination
public void setResultDate(java.sql.Date _resultDate) {
resultDate = _resultDate;
}
public java.sql.Date getResultDate() {
return resultDate;
}

//start time of the 1st leave date
public void setStartTimeFrom(int _start_from_hr, int _start_from_min) {
startTimeFrom = java.sql.Time.valueOf(_start_from_hr + ":" + _start_from_min+ ":" + "00");
}
public java.sql.Time getStartTimeFrom() {
return startTimeFrom;
}



public boolean submit(Connection conn) {
Statement stm = null;
String sql;

try {
stm = conn.createStatement();
sql = "insert into POR_LEAVE (result_date, startDate_timeFrom) values (";
sql+= resultDate + "', '";
sql+= startTimeFrom + "')";
stm.executeUpdate(sql);
} catch (SQLException e) {
System.out.println("Error occurred when submitting the leave application!");
System.out.println("em_code: " + emCode + ": " + e.toString());
return false;
}
return true;
}
}

-----------------------------------------------------------------------------
Please help me, thanks~