Asp.net 从用于查询数据库的数据源的组合框中选择值

Asp.net 从用于查询数据库的数据源的组合框中选择值,asp.net,combobox,asp.net-ajax,datasource,mschart,Asp.net,Combobox,Asp.net Ajax,Datasource,Mschart,我使用ASP.NET中的Chart函数生成了一个图形,该函数从SQL数据库检索数据。目前,它检索了2008年的所有温度,因为我要求SQL数据源查找包括2008年在内的所有日期。我一直在尝试将一个组合框连接到SQL数据源,因此当我选择一个年份时,它会查找该特定年份,而不是2008年。下面的代码当前在没有组合框的情况下工作,并检索2008年的所有临时值: <asp:Chart ID="Chart1" runat="server" DataSourceID="SqlDataSource1"

我使用ASP.NET中的Chart函数生成了一个图形,该函数从SQL数据库检索数据。目前,它检索了2008年的所有温度,因为我要求SQL数据源查找包括2008年在内的所有日期。我一直在尝试将一个组合框连接到SQL数据源,因此当我选择一个年份时,它会查找该特定年份,而不是2008年。下面的代码当前在没有组合框的情况下工作,并检索2008年的所有临时值:

<asp:Chart ID="Chart1" runat="server" DataSourceID="SqlDataSource1" 
        Height="349px" Width="977px">
        <Series>
            <asp:Series Name="Series1" XValueMember="JobDate" YValueMembers="CureTemp">
            </asp:Series>
        </Series>
        <ChartAreas>
            <asp:ChartArea Name="ChartArea1">
            </asp:ChartArea>
        </ChartAreas>
    </asp:Chart>
    <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
        ConnectionString="<%$ ConnectionStrings:T2DataString %>" 
        SelectCommand="SELECT * FROM [T2] WHERE DatePart(yyyy, JobDate) = 2008">
    </asp:SqlDataSource>

然后,我添加了以下组合框并更改了SQL数据源,如下所示:

<asp:SqlDataSource ID="SqlDataSource1" runat="server" 
        ConnectionString="<%$ ConnectionStrings:T2DataString %>" 
        SelectCommand="SELECT * FROM [T2] WHERE ([JobDate] = @JobDate)">
        <SelectParameters>
            <asp:ControlParameter ControlID="ComboBox" DbType="Date" Name="JobDate" 
                PropertyName="SelectedValue" />
        </SelectParameters>
    </asp:SqlDataSource>

    <asp:DropDownList ID="ComboBox" runat="server">
        <asp:ListItem>2011</asp:ListItem>
        <asp:ListItem>2010</asp:ListItem>
        <asp:ListItem>2009</asp:ListItem>
        <asp:ListItem>2008</asp:ListItem>
    </asp:DropDownList>

2011
2010
2009
2008
当我尝试运行应用程序时,它会说:“字符串未被识别为有效的日期时间”。如何将组合框中的值转换为整数,以便在数据源中使用?我不是试图用数据源中的数据填充下拉菜单,而是试图使用下拉菜单在数据源中输入一个值


谢谢。

将您的下拉列表项更改为
2011
,并且您的sql查询应该与第一个代码片段
DatePart(yyyy,JobDate)

中的查询类似。我尝试了您的建议,但在尝试运行页面时出现了一个错误:“字符串未被识别为有效的日期时间。”感谢sqldatasource中的
DbType=“Date”
DbType=“String”