【问题标题】:Select value from combobox for datasource to query database从组合框中为数据源选择值以查询数据库
【发布时间】: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


    【解决方案1】:

    将您的下拉列表项更改为&lt;asp:ListItem Value="2011"&gt;2011&lt;/asp:ListItem&gt;,并且您的 sql 查询应该类似于您从第一个代码 sn-p DatePart(yyyy, JobDate) 中的查询

    【讨论】:

    • 你好。我已经尝试了您的建议,但在尝试运行页面时出现错误:“字符串未被识别为有效的日期时间。”谢谢
    • 在 sqldatasource 中将 DbType="Date" 更改为 DbType="String"
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-03-02
    • 1970-01-01
    • 1970-01-01
    • 2019-08-28
    • 2021-02-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多