passing date value to informix
843854Mar 8 2003 — edited Mar 13 2003Hi All
How to pass date value to informix as procedure parameter.
Using IBM Informix driver from jdk1.2.2
Iam getting fromDate and toDate in dd-MM-yyy format from form.
I tried to call the procedure by following ways
First
------
fromDate and toDate user entered value in dd-MM-yyyy format as string
PreparedStatement pstmt = conn.prepareStatement("{CALL ProcedureName(?,?,?,?)};");
pstmt.setString(1, ccNo);
pstmt.setString(2, pFlag);
pstmt.setString(3, fromDate);
pstmt.setString(4, toDate);
Second
-------
fromDate and toDate user entered value in dd-MM-yyyy format as string
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
java.util.Date dateFrom = sdf.parse(fromDate);
java.sql.Date sqlDateFrom = new java.sql.Date(dateFrom.getTime());
java.util.Date dateTo = sdf.parse(toDate);
java.sql.Date sqlDateTo = new java.sql.Date(dateTo.getTime());
PreparedStatement pstmt = conn.prepareStatement("{CALL ProcedureName(?,?,?,?)};");
pstmt.setString(1, ccNo);
pstmt.setString(2, pFlag);
pstmt.setDate(3, sqlDateFrom);
pstmt.setDate(4, sqlDateTo);
Both way iam getting error - java.sql.SQLException: A syntax error has occurred
Third
----
When iam passing directly the parameters
PreparedStatement pstmt = conn.prepareStatement("{call ProcedureName('1234567890','P','01/12/2002','31/01/2003')};");
iam getting error "String to date conversion error".
I executed the procedure directly, not thro program
execute procudure procedurename("1234567890",'O',"01/12/2002","31/01/2003") IT IS WORKING FINE.
Hope my explanation above make sense.Any help on this.Thanks to everybody in advance
Regards SKumar