【发布时间】:2012-01-25 16:05:44
【问题描述】:
我使用 ASP.NET 中的 Chart 函数生成了一个图形,该函数从 SQL 数据库中检索其数据。目前它检索了 2008 年的所有温度,因为我已经要求 SQL 数据源查找包括 2008 年在内的所有日期。我一直在尝试将组合框连接到 SQL 数据源,所以当我选择一年时,它会查找特定年份而不是 2008 年。以下代码目前在没有组合框的情况下工作,并检索 2008 年的所有 Temps:
<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>
当我尝试运行应用程序时,它显示:“字符串未被识别为有效的日期时间”。如何将组合框中的值转换为整数,以便可以在数据源中使用?我不是想用数据源中的数据填充下拉菜单,而是尝试使用下拉菜单在数据源中输入一个值。
谢谢。
【问题讨论】:
标签: asp.net combobox asp.net-ajax datasource mschart