繁体   English   中英

C#中的下拉列表不包含列

[英]dropdown list in c# does not contain column

我已经为ac#应用程序安装了一个数据库。 我有三个表:电影(中,职称,导演,年),评论(中,rid,ratingDate,星星)和评论者(中,姓名)。 我希望下拉列表仅显示该列中的ratingDate年份(避免为空年份)。 然后,我希望将所选值发送到网格视图,以按所选评论年度中最高评分的顺序显示电影标题和平均评分。 每次我运行它时,它都说system.data.dataRowView不包含ratingDate。

这是我编写的代码:

-下拉列表的数据源

<asp:SqlDataSource ID="yearsreviewed" runat="server" 
   ConnectionString="<%$ ConnectionStrings:ConnectionString %>" 
   SelectCommand="SELECT DISTINCT Year(ratingDate) FROM rating">
</asp:SqlDataSource>

- 下拉列表

<asp:DropDownList ID="ddlYear" runat="server" 
   DataSourceID="yearsreviewed" DataTextField="ratingDate" 
   DataValueField="ratingDate" AutoPostBack="True">
</asp:DropDownList>

--gridview的数据源

<asp:SqlDataSource ID="bestmovie" runat="server" ConnectionString="<%$       ConnectionStrings:ConnectionString %>" 
   SelectCommand="SELECT movie.title, AVG(rating.stars) AS newRating, rating.ratingDate FROM movie INNER JOIN rating ON movie.mid = rating.mid WHERE (rating.ratingDate IS NOT NULL) AND (YEAR(rating.ratingDate) = @ratingDate) GROUP BY rating.ratingDate, movie.title ORDER BY rating.ratingDate, newRating DESC">
   <SelectParameters>
      <asp:ControlParameter ControlID="ddlYear" Name="ratingDate" PropertyName="SelectedValue" />
   </SelectParameters>
</asp:SqlDataSource>`

- 网格视图

<asp:GridView ID="gvBestMovie" runat="server" AutoGenerateColumns="False" 
   CellPadding="4" DataSourceID="bestmovie" ForeColor="#333333" 
   GridLines="None">
   <AlternatingRowStyle BackColor="White" />
      <Columns>
         <asp:BoundField DataField="title" HeaderText="title" SortExpression="title" />
         <asp:BoundField DataField="newRating" HeaderText="newRating" ReadOnly="True" 
                SortExpression="newRating" />
         <asp:BoundField DataField="ratingDate" HeaderText="ratingDate" 
                SortExpression="ratingDate" />
      </Columns>
      <EditRowStyle BackColor="#7C6F57" />
      <FooterStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" />
      <HeaderStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" />
      <PagerStyle BackColor="#666666" ForeColor="White" HorizontalAlign="Center" />
      <RowStyle BackColor="#E3EAEB" />
      <SelectedRowStyle BackColor="#C5BBAF" Font-Bold="True" ForeColor="#333333" />
      <SortedAscendingCellStyle BackColor="#F8FAFA" />
      <SortedAscendingHeaderStyle BackColor="#246B61" />
      <SortedDescendingCellStyle BackColor="#D4DFE1" />
      <SortedDescendingHeaderStyle BackColor="#15524A" />
</asp:GridView>

我已经用不同的查询做了几乎完全相同的事情,并且效果很好。 请帮助我不知道我在想什么

在yearsreviewed数据源中,您是否尝试过在select语句中使用别名?

SELECT DISTINCT Year(ratingDate) as ratingDate FROM rating

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM