2011-09-12 38 views
0

因此,我写了一个ASP页面已经很长时间了。事实上,它是传统的ASP,现在我正努力赶上新的.NET版本。将字符串传递给SelectParameter函数asp.net网页

我的问题,我想搜索一个数据库的行只是当前的一周。它应该显示从本周的星期一至星期五的行,无论本周我正在查看该页面的哪一天。

我从下面的代码开始,它给了我两个日期来插入我的SqlDataSource“Where”字符串。

Dim Mon As DateTime 
    Dim Fri As DateTime 
    Dim daysDiff As Integer 
    daysDiff = 2 - Weekday(DateTime.Today) 
    Mon = DateAdd("d", daysDiff, DateTime.Today) 
    Fri = DateAdd("d", 4, Mon) 

现在我的问题是,我不知道如何抓住“星期一”和“星期五”的值,将其插入到ASP:SqlDataSource的SelectCommand中功能

SelectCommand = "SELECT * FROM [Concerts] WHERE ShowDate >= MON AND ShowDate <= Fri" > 

我需要它解析为:

SelectCommand = "SELECT * From [Concerts] WHERE ShowDate >= 09/12/2011 AND ShowDate <= 09/16/2011"> 

您的帮助表示赞赏,因为我一直在这几天想通过这件事应该是相当简单的,你专家在那里获得的。

回答

0

最简单的方法是设置您在SqlDataSource中使用的参数的DefaultValue

例子:

<asp:sqlDataSource ID="ConcertsSqlDataSource" 
    SelectCommand="SELECT * From [Concerts] WHERE ShowDate >= @StartDate AND ShowDate <= @EndDate" 

    ConnectionString="<%$ ConnectionStrings:NorthwindConnection %>" 
    OnInserted="EmployeeDetailsSqlDataSource_OnInserted" 
    RunAt="server"> 

    <SelectParameters> 
    <asp:Parameter Name="StartDate" Type="DateTime" /> 
    <asp:Parameter Name="EndDate" Type="DateTime" /> 
    </SelectParameters> 
</asp:sqlDataSource> 

后面的代码(这是C#,但应该是在VB.NET类似)

ConcertsSqlDataSource.SelectParameters["StartDate"].DefaultValue = Mon.ToString(); 
ConcertsSqlDataSource.SelectParameters["EndDate"].DefaultValue = Friday.ToString(); 

之后,你既可以DataBind()控制你它附着或在后面的代码中处理结果。

0

您可以执行以下操作。 编辑您的ASPX页面。 确保您的SELECT命令如下:现在

SelectCommand="SELECT * FROM [Concerts] WHERE (([ShowDate] &gt; @MON) AND ([ShowDate ] &lt; @FRI))"> 
     <SelectParameters> 
     <asp:Parameter Name="MON" DefaultValue="" Type="DateTime" /> 
     <asp:Parameter Name="FRI" DefaultValue="" Type="DateTime" /> 
     </SelectParameters> 

在后面的代码,你可以添加以下..

SqlDataSource1.SelectParameters["MON"].DefaultValue = Convert.ToString(Mon); 
SqlDataSource1.SelectParameters["FRI"].DefaultValue = Convert.ToString(Fri); 
SqlDataSource1.DataBind(); 

一般来说我从SqlDataSource的远离和使用DataSets- http://msdn.microsoft.com/en-us/library/system.data.dataset.aspx

+0

如何使用DataSet生成相同的结果。对不起,我是一个真正的新手,并努力学习。 – ZitoMD