小弟刚玩.net不久,碰到个问题,望各位大侠指教!  CS页面代码:
  private void Page_Load(object sender, System.EventArgs e)
{  

//连接数据库
string strConn="Provider=Microsoft.Jet.OleDb.4.0;"+"Data Source="+Server.MapPath("data/nfkf.mdb");
OleDbConnection conn= new OleDbConnection(strConn);
conn.Open(); //读取经典楼盘图片
string strSQLjd="SELECT top 4 id,图片 FROM 项目简介 ORDER BY ID DESC";
//读取热销楼盘
string strSQLrx="SELECT top 1 id,图片,楼盘简介,地理位置 FROM 项目简介 where 栏目='热销楼盘' ORDER BY ID DESC"; ds=new DataSet(); //打开DataAadpter
OleDbDataAdapter MyJdlp=new OleDbDataAdapter(strSQLjd,conn);
OleDbDataAdapter MyRxlp=new OleDbDataAdapter(strSQLrx,conn);

//将各表数据存入DataSet
MyJdlp.Fill(ds,"项目简介");
MyRxlp.Fill(ds,"项目简介");

//交给DataGrid去显示
jdlp.DataSource=ds.Tables["项目简介"].DefaultView;
rxlp.DataSource=ds.Tables["项目简介"].DefaultView;            conn.Close();
if(!IsPostBack)  
{  
//绑定DataGrid
jdlp.DataBind();
rxlp.DataBind();
}  
}ASPX页面代码:<asp:DataList id="jdlp" runat="server" RepeatColumns="5" RepeatDirection="Horizontal" ShowHeader="False" ShowFooter="False" HorizontalAlign="center">
<ItemTemplate>
<a href='aaa.aspx?id=<%# DataBinder.Eval(Container.DataItem,"id") %>'><img border="0" src='fileup/<%# DataBinder.Eval(Container.DataItem, "图片") %>' width="107" height="88"></a>
</ItemTemplate>
<SeparatorTemplate>
<td width="20"></td>
</SeparatorTemplate>
</asp:DataList>
<asp:DataList id="rxlp" runat="server">
<ItemTemplate>
<a href='aaa.aspx?id=<%# DataBinder.Eval(Container.DataItem,"id") %>'><img border="0" src='fileup/<%# DataBinder.Eval(Container.DataItem, "图片") %>' width="107" height="88"></a>
</ItemTemplate>
</asp:DataList> 问题:竟然两个DataList都显示了5条记录,而且的两个相加的记录,请问这是怎么回事?有什么办法可以解决?前段时间用DataGrid也出现同样的问题,望各位帮帮忙,谢谢!

解决方案 »

  1.   

    问题出在这儿 //将各表数据存入DataSet
    MyJdlp.Fill(ds,"项目简介");
    MyRxlp.Fill(ds,"项目简介");//交给DataGrid去显示
    jdlp.DataSource=ds.Tables["项目简介"].DefaultView;
    rxlp.DataSource=ds.Tables["项目简介"].DefaultView;因为你两个记录集都保存一个表中,所以出现两个相加的记录.
    改为:MyJdlp.Fill(ds,"项目简介1");
    MyRxlp.Fill(ds,"项目简介2");//交给DataGrid去显示
    jdlp.DataSource=ds.Tables["项目简介1"].DefaultView;
    rxlp.DataSource=ds.Tables["项目简介2"].DefaultView;
      

  2.   

    MyJdlp.Fill(ds,"项目简介");
    MyRxlp.Fill(ds,"项目简介");
     你放到一个 datatable 里面的~~~ 呵呵~~
      

  3.   

    那就建一个 dataview 来过滤你想要的 不过很麻烦 还是用两个table方便
      

  4.   

    非常感谢楼上两位的帮助,谢谢,原来我理解错了,我以为MyJdlp.Fill(ds,"项目简介");里面的是数据库表名呢,谢谢,马上结贴!