簡體   English   中英

為什么數據記錄被錯誤地讀入列表 <T> ?

[英]Why are the data records read incorrectly into a List<T>?

有誰知道源代碼為什么具有以下行為(內部聯接后只有兩個數據集):正確讀取了兩個數據集。 但是現在我在兩個數據集中都有第二個數據集。 我只是想不通。

        for (int x = 0; x < ds.Tables[0].Rows.Count; x++)
        {
            tasks.ID = (int)ds.Tables[0].Rows[x]["ID"];
            tasks.UserID = (int)ds.Tables[0].Rows[x]["UserID"];
            tasks.Aufgabe = (int)ds.Tables[0].Rows[x]["Aufgabe"];
            tasks.Start = (DateTime)ds.Tables[0].Rows[x]["Start"];
            tasks.Ende = (DateTime)ds.Tables[0].Rows[x]["Ende"];
            tasks.Erledigt = (ds.Tables[0].Rows[x]["Erledigt"] == DBNull.Value) ? DateTime.MinValue : (DateTime)ds.Tables[0].Rows[x]["Erledigt"];
            tasks.AufgabenID = (int)ds.Tables[0].Rows[x][6];
            tasks.Bezeichnung = ds.Tables[0].Rows[x]["Bezeichnung"].ToString();
            tasks.Beschreibung = ds.Tables[0].Rows[x]["Beschreibung"].ToString();
            tasks.Zeitrahmen = (int)ds.Tables[0].Rows[x]["Zeitrahmen"];
            tasks.Wert = (decimal)ds.Tables[0].Rows[x]["Wert"];
            tasks.WertGutschrift = (int)ds.Tables[0].Rows[x]["WertGutschrift"];
            tasks.Folgeaufgabe = (int)ds.Tables[0].Rows[x]["Folgeaufgabe"];
            taskList.Add(tasks);
        }

您要多次添加同一對象。 在每個迭代中創建一個新的(作為for循環的第一行):

Task tasks = new Task();

您設置一個對象的所有屬性並將其添加到列表中。 在循環的下一個迭代中,您將使用新值更新現有對象並將其再次添加到列表中。

PS:別忘了刪除當前要在其中創建對象的行,否則會出現編譯器錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM