close

Dataset運作原理是把資料利用DataAdapter去執行撈資料的動作,再將其放入DataSet中。

那麼如果我撈了兩張資料表的資料該如何做出其中之關聯? (類似留言板那樣!)

實作重點如下:

 

重點1: 兩張資料表彼此關聯。

myDataSet.Relations.Add("Relation_TT",

myDataSet.Tables["test"].Columns["id"], myDataSet.Tables["test_talk"].Columns["test_id"]);

把關聯後名子取為:Relation_TT

relation    

因為資料表這兩個欄位相對所以關聯:Tables["test"].Columns["id"] 和 Tables["test_talk"].Columns["test_id"]

 

重點2:繞行(我不知道這是否為大陸用語,就是用迴圈把一個東西跑完的意思)

//第一個迴圈取出留言

foreach (DataRow myDRow1 in myDataSet.Tables["test"].Rows)
{
myStr = myStr + "<p>test資料表 -- " + myDRow1["id"].ToString() + "</p>";
myStr = myStr + myDRow1["title"].ToString() + "<br />";

myStr = myStr + "讀者留言<br/>";

//繞行取出回應上述留言的子留言

foreach (DataRow myDRow2 in myDRow1.GetChildRows(myDataSet.Relations["Relation_TT"]))
{
myStr = myStr + "test_talk資料表 -- " + myDRow2["id"].ToString() + "&nbsp;&nbsp;";
myStr = myStr + "<b><font color=red>" + myDRow2["test_id"].ToString() + "</font></b>&nbsp;&nbsp;";
myStr = myStr + myDRow2["article"].ToString() + "<br />";
}

myStr = myStr + "</small><hr />";
Label1.Text = myStr;
}

以上就結束了。

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 melomelo1988 的頭像
    melomelo1988

    melo 唐

    melomelo1988 發表在 痞客邦 留言(0) 人氣()