Umut Şeker
asked on
Using Session DateTime Variable as SqlDataSource Parameter
I'm assigning DateTime data (for example: 01.01.2007 and 01.01.2009) to session veriables like;
Session.Add("FILTER_BEGIND ATE", Convert.ToDateTime(txt_Beg inDate.Tex t));
Session.Add("FILTER_ENDDAT E", Convert.ToDateTime(txt_End Date.Text) );
and using them as parameters to a SqlDataSource like;
WHERE (MYDATE > @FILTER_BEGINDATE) AND (MYDATE < @FILTER_ENDDATE)
...@FILTER_BEGINDATE AND @FILTER_ENDDATE are DateTime parameters.
But I could get and data from the SqlDataSource. What could be the problem?
I'm using ASP.Net 2005 with C#
Thanks,
Session.Add("FILTER_BEGIND
Session.Add("FILTER_ENDDAT
and using them as parameters to a SqlDataSource like;
WHERE (MYDATE > @FILTER_BEGINDATE) AND (MYDATE < @FILTER_ENDDATE)
...@FILTER_BEGINDATE AND @FILTER_ENDDATE are DateTime parameters.
But I could get and data from the SqlDataSource. What could be the problem?
I'm using ASP.Net 2005 with C#
Thanks,
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
When I use the way srivatsavaye told like;
WHERE
(CONVERT(varchar, MYDATE, 204) > CONVERT(varchar, @FILTER_BEGINDATE, 204))
AND
(CONVERT(varchar, MYDATE, 204) < CONVERT(varchar, @FILTER_ENDDATE, 204))
there is no erro but no data came as the date interval is true..
WHERE
(CONVERT(varchar, MYDATE, 204) > CONVERT(varchar, @FILTER_BEGINDATE, 204))
AND
(CONVERT(varchar, MYDATE, 204) < CONVERT(varchar, @FILTER_ENDDATE, 204))
there is no erro but no data came as the date interval is true..
ASKER
ohh what a mistake I made... :( the field's type is varchar.
So I solve this problem like;
(CONVERT (datetime, CONVERT (varchar(10), MYDATE, 104), 104) > CONVERT (datetime, @FILTER_BEGINDATE, 104)) AND (CONVERT (datetime, CONVERT (varchar(10), MYDATE, 104), 104) < CONVERT (datetime, @FILTER_ENDDATE, 104))
Thanks,
So I solve this problem like;
(CONVERT (datetime, CONVERT (varchar(10), MYDATE, 104), 104) > CONVERT (datetime, @FILTER_BEGINDATE, 104)) AND (CONVERT (datetime, CONVERT (varchar(10), MYDATE, 104), 104) < CONVERT (datetime, @FILTER_ENDDATE, 104))
Thanks,
ASKER
204 is the style of "dd.mm.yyyy".
For example if I write a sql statement like that;
Select...... CONVERT(datetime, '01.01.2019', 204) AS Expr1..
or
if I use a WHERE close like that;
WHERE
(CONVERT(datetime, MYDATE, 204) > CONVERT(datetime, @FILTER_BEGINDATE, 204))
AND
(CONVERT(datetime, MYDATE, 204) < CONVERT(datetime, @FILTER_ENDDATE, 204))
The error is;
Conversion failed when converting datetime from character string.