How to retreive a date from a hidden value with an SqlDataSource in ASP.NET (VB.NET)

Hi
I am trying to run a query based on the date at which the user visits the page that will populate a datagrid. The datagrid populates through an SqlDataSource preconfigured with the code found in the code window.

Database : SQL2005 latest release
Web page : VB.NET ==> ASPX (pro 2008 edition)

The query uses parameters : @DateReturn and @UID
Parameter Sources : Controls on the webform (Hidden Value fields)

The @DateReturn parameter of the sqlDataSource is mapped to a hidden control on the page  that is set at the PageLoad event to the Date.Now value. I also tried formatting the date with the "#" , and also tried using Date.Today.

@UID gets its value from another hidden value set at the at the PageLoad event as well.

In debugging, both values are correctly there and accessible by code.

When the sqlDataSource.Databind gets fired, I get an arithmatic error caused by an overflow in the @DateReturn field.

The field to compare the date IS a datetime datatype.

SqlDataSource Select Statement :
 
SELECT * FROM tblStock
WHERE fldDateReturn > @DateReturn 
AND
fldUserID = @UID
 
'PageLoad Event
me.dateVal.value = date.now
me.uidVal.value = userid  ' retrieved trough another sub

Open in new window

Marty_OAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

jinalCommented:
SELECT * FROM tblStock
WHERE fldDateReturn > '@DateReturn'
AND
fldUserID = @UID
0
jinalCommented:
Try to give defalut value in <asp:ControlParameter  ..
of Sql DataSource . Error indicate that date is not supplied.
 
0
CodeCruiserCommented:
Use a SessionParameter and at the pageload, add the date to the session

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.sessionparameter.aspx
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Determine the Perfect Price for Your IT Services

Do you wonder if your IT business is truly profitable or if you should raise your prices? Learn how to calculate your overhead burden with our free interactive tool and use it to determine the right price for your IT services. Download your free eBook now!

jinalCommented:

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default13.aspx.vb" Inherits="Default13" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:GridView ID="GridView1" runat="server" DataSourceID="SqlDataSource1">
        </asp:GridView>
        <asp:HiddenField ID="hid" Value="" runat="server" />
        <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="Data Source=.\SQLEXPRESS08;Initial Catalog=AdventureWorks;Integrated Security=True" SelectCommand="Select * from TestTable Where [date]<= @Date">
            <SelectParameters>
                <asp:ControlParameter ControlID="hid" DbType="Date" PropertyName="Value" Name="Date" />
            </SelectParameters>
        </asp:SqlDataSource>    
    </div>
    
    </form>
</body>
</html>
 
/* Code Behind */
 
Partial Class Default13
    Inherits System.Web.UI.Page
 
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        hid.Value = Date.Now
    End Sub
End Class

Open in new window

0
jinalCommented:
In above comment just update connection string and test.
0
Marty_OAuthor Commented:
Thanks for the input. By reading both solutions, I realized I had missed a crutial step... specify in the control properties that the type of data was a datetime for my hidden value. Since both solutions worked, I awarded equal points. Thanks again!
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
ASP.NET

From novice to tech pro — start learning today.