[問題] .net想要存取兩個資料表卻都顯示同一個

看板C_Sharp作者 (叉麵)時間17年前 (2008/08/19 14:47), 編輯推噓0(002)
留言2則, 1人參與, 最新討論串1/1
我現在有一個資料庫名為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

08/19 16:36, , 1F
oda.Fill(ds2, "reply"); //將資料表填入記憶體空間ds
08/19 16:36, 1F

08/19 16:36, , 2F
原來我這行自己少打一個2...是SqlDataAdapter oda2才對XD
08/19 16:36, 2F
文章代碼(AID): #18gco6AU (C_Sharp)