mssql datetime

andrewthorp

Ok, heres the problem.

I have a msSQL stored procedure, and it takes two parameters (@startDate datetime '9/7/2007', @endDate datetime '1999/01/01'). 9/7/2007 is the date of the first entry, and if 1999/01/01 is the value of endDate, I set it to the current date.

This stored procedure works when I run it inside of the ms db gui. However, if I try to call this from my Java app without passing it parameters (keep in mind, my java app was working before I added the daterange parameters), it says:

"com.microsoft.sqlserver.jdbc.SQLServerException: The value is not set for the parameter number 1."

My first question is, what is the point of default parameters if I still have to pass them in?
Second question, I am having a hard time passing it parameters. I am not sure of the syntax to create a date in order to pass it. I have imported java.sql.Date (One of the common errors I noticed while searching these forums) and I am trying to create a Date. Could someone tell me what the syntax is to create any specific date (July 4, 2004 for instance)?

Thanks! (Sorry about the long question!)Ok, heres the problem.

I have a msSQL stored procedure, and it takes two parameters (@startDate datetime '9/7/2007', @endDate datetime '1999/01/01'). 9/7/2007 is the date of the first entry, and if 1999/01/01 is the value of endDate, I set it to the current date.

This stored procedure works when I run it inside of the ms db gui. However, if I try to call this from my Java app without passing it parameters (keep in mind, my java app was working before I added the daterange parameters), it says:

"com.microsoft.sqlserver.jdbc.SQLServerException: The value is not set for the parameter number 1."

My first question is, what is the point of default parameters if I still have to pass them in?
Second question, I am having a hard time passing it parameters. I am not sure of the syntax to create a date in order to pass it. I have imported java.sql.Date (One of the common errors I noticed while searching these forums) and I am trying to create a Date. Could someone tell me what the syntax is to create any specific date (July 4, 2004 for instance)?

Thanks! (Sorry about the long question!)

Khalid_Ali

I'd really like to see how you are calling your store procedure from Java?

mdjo

I'm not sure about parameters to a stored procedure, maybe the rules are different, but when you're putting dates in a SQL statement, JDBC gives a common format, regardless of the date format used by the underlying database engine. Namely:

{d'yyyy-mm-dd'}

Where the braces, the first "d", and the single quotes are literals and the rest is replaced with the date you want, like

{d'2007-10-03'}

for October 3, 2007.

If you use JDBC functions that operate on a Date object, then you set the date using Java calls, and it's all vanilla Java.