CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  C#

我无语了,各位进来看下

楼主sunkangta(●●●●●)2005-07-24 01:31:51 在 .NET技术 / C# 提问

ASPX页面:  
  <asp:repeater   id="top10Song"   runat="server">  
        <HeaderTemplate>  
            <TABLE   id="Table17"   cellSpacing="0"   cellPadding="2"   width="155"   align="center"   border="0">  
        </HeaderTemplate>  
        <ItemTemplate>  
            <TR>  
            <TD   width="130"><%#   Container.ItemIndex+1%<%#   DataBinder.Eval(Container.DataItem,"MusicName")%></TD>  
            <TD><div   align="right"><%#   DataBinder.Eval(Container.DataItem,"hits")%></div></TD>  
            </TR>  
        </ItemTemplate>  
        <FooterTemplate>  
            </TABLE>  
        </FooterTemplate>  
  </asp:repeater>  
   
   
  aspx.cs代码:  
  private   void   showTop10Song()  
  {  
        string   sqlstr="select   top   10   hits,Music,Singer   from   Music_Table   order   by   hits   desc";  
        conn.Open();  
        OleDbCommand   cmd   =   new   OleDbCommand(sqlstr,conn);  
        OleDbDataReader   rd   =   cmd.ExecuteReader();  
        this.top10Song.DataSource   =   rd;  
        this.top10Song.DataBind();  
        rd.Close();  
        conn.Close();  
  }  
   
  =============================================  
  问,我select   top   10但为什么界面上有多少条记录就显示多少条记录?我数据库中12个,他也显示12个,而不是10个,为什么啊? 问题点数:20、回复次数:6Top

1 楼sunkangta(●●●●●)回复于 2005-07-24 01:33:53 得分 0

写错了两个地方,冲写写下  
   
   
  ASPX页面:  
  <asp:repeater   id="top10Song"   runat="server">  
        <HeaderTemplate>  
            <TABLE   id="Table17"   cellSpacing="0"   cellPadding="2"   width="155"   align="center"   border="0">  
        </HeaderTemplate>  
        <ItemTemplate>  
            <TR>  
            <TD   width="130"><%#   Container.ItemIndex+1%<%#   DataBinder.Eval(Container.DataItem,"Music")%></TD>  
            <TD><div   align="right"><%#   DataBinder.Eval(Container.DataItem,"hits")%></div></TD>  
            </TR>  
        </ItemTemplate>  
        <FooterTemplate>  
            </TABLE>  
        </FooterTemplate>  
  </asp:repeater>  
   
   
  aspx.cs代码:  
  private   void   showTop10Song()  
  {  
        string   sqlstr="select   top   10   hits,Music,Singer   from   Music_Table   order   by   hits   desc";  
        conn.Open();  
        OleDbCommand   cmd   =   new   OleDbCommand(sqlstr,conn);  
        OleDbDataReader   rd   =   cmd.ExecuteReader();  
        this.top10Song.DataSource   =   rd;  
        this.top10Song.DataBind();  
        rd.Close();  
        conn.Close();  
  }  
  Top

2 楼stars21(默默无闻)回复于 2005-07-24 01:56:08 得分 20

如果你的hits字段有重复的话就会出现这样的情况,最好再后面加一个id的  
   
  order   by   hits   desc,idTop

3 楼sunkangta(●●●●●)回复于 2005-07-24 02:06:29 得分 0

的确行了,楼上的可不可以说下  
  为什么加了,id就行了啊,我选的top10,他是应该只给我选出10个的么Top

4 楼stars21(默默无闻)回复于 2005-07-24 02:15:47 得分 0

 
  因为hits字段里面有相同的所以才会这样,后面加个id也就是两个排序,这样就能避免hits字段重复的数据都被提出了  
   
  好像再SQL里面就不会有这个问题,呵呵。ACCESS就这样  
  我也是刚学,以前把数据从SQL转到ACCESS的时候就遇到过这样的问题Top

5 楼sunkangta(●●●●●)回复于 2005-07-24 02:22:05 得分 0

了解了,谢谢楼上的,嘎嘎Top

6 楼stars21(默默无闻)回复于 2005-07-24 02:35:49 得分 0

8客气,呵呵  
   
  我那时候也是这个问题头疼了好久,主要是SQL上都没问题,到ACCESS很多东西都不行了,后来也是别人提醒过后才想起来。Top

相关问题

  • 看看这篇新闻吧!我无语了
  • 转帖:一个大学生的尴尬(看后无语)
  • 我的毕业设计题目~~~ 无语!~~~ 进来看看随便出出点子
  • 射雕英雄传中被遗忘的小兵(看完后我无语)
  • 各位帮忙看一下!
  • 请各位帮忙看下
  • 各位帮忙看一下!
  • 各位帮看一下?
  • 各位帮忙看一下
  • 无语啊!这是怎么了.哪位帮我看看啊,小弟刚学这个啊

关键词

  • 字段
  • top
  • access
  • song
  • oledbcommand
  • sqlstr
  • rd
  • hits
  • music
  • conn

得分解答快速导航

  • 帖主:sunkangta
  • stars21

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo