2011-09-12 25 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