作者hdd525 (叉面)
看板C_Sharp
标题[问题] .net想要存取两个资料表却都显示同一个
时间Tue Aug 19 14:47:33 2008
我现在有一个资料库名为BBSData.mdf,
里面有两个资料表分别是GuestBook跟reply,
我想要将两个资料表的内容利用DataList在同一页印出,
照理说应该会把两个资料表的东西分别印出,
但是我却会印出两个同样的东西(都显示GuestBook的资料),
下面是我的程式码,
麻烦板友帮我看看是哪里出错了,谢谢。
public void strpage()
{
//第一个DataList,存取GuestBook资料表
string strConn =
"Data Source=.\\SQLEXPRESS;AttachDbFilename=" +
Server.MapPath(".\\App_Data\\BBSData.mdf") +
";Integrated Security=True;" +
"TrustServerCertificate=False;" +
"User Instance=True;Context Connection=False";
SqlConnection myConn = new SqlConnection(strConn); //建立资料来源连结
SqlDataAdapter oda = new SqlDataAdapter();
oda.SelectCommand = new SqlCommand("select * from GuestBook WHERE ID=" + Request.QueryString["BBSPage"] + " order by ID DESC", myConn); //填入资料
DataSet ds = new DataSet(); //创建一个记忆体空间资料库
oda.Fill(ds, "GuestBook"); //将资料表填入记忆体空间ds
PagedDataSource ps = new PagedDataSource();
ps.DataSource = ds.Tables["GuestBook"].DefaultView;
this.DataList1.DataSource = ps;
this.DataList1.DataBind();
//第二个DataList,存取reply资料表
SqlDataAdapter oda2 = new SqlDataAdapter();
oda2.SelectCommand = new SqlCommand("select * from reply WHERE ID=" + Request.QueryString["BBSPage"] + " order by ID DESC", myConn); //填入资料
DataSet ds2 = new DataSet(); //创建一个记忆体空间资料库
oda.Fill(ds2, "reply"); //将资料表填入记忆体空间ds
PagedDataSource ps2 = new PagedDataSource();
ps2.DataSource = ds2.Tables["reply"].DefaultView;
this.DataList2.DataSource = ps2;
this.DataList2.DataBind();
}
=======================================
网页内容:
<asp:DataList ID="DataList1" runat="server">
<ItemTemplate>
<table>
<tr>
<td style="width: 120px; height: 23px; background-color: buttonface;">
留言编号:<%
#DataBinder.Eval(Container.DataItem,"ID")%>
</td>
</table>
<br />
</ItemTemplate>
</asp:DataList>
<asp:DataList ID="DataList2" runat="server">
<ItemTemplate>
<table>
<tr>
<td style="width: 120px; height: 23px; background-color: buttonface;">
回应编号:<%
#DataBinder.Eval(Container.DataItem,"ID")%>
</td>
</table>
<br />
</ItemTemplate>
</asp:DataList>
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.134.245.169
1F:→ hdd525:oda.Fill(ds2, "reply"); //将资料表填入记忆体空间ds 08/19 16:36
2F:→ hdd525:原来我这行自己少打一个2...是SqlDataAdapter oda2才对XD 08/19 16:36