C#兩個DataTable拷貝問題:該行已經屬於另一個表的解決方法


一、DataTable.Rows.Add(DataRow.ItemArray);

二、DataTable.ImportRow(DataRow)

三、設置DataTable的tablename,然后.Rows.Add

第一種方法在項目中用到,確實好用!兩種方式都可以自己選擇吧,沒有什么好壞

----------------------------------------------------------------------------------------------------------------

要把數據從一個DataTable復制到另一個DataTable,執行結果出現c#錯誤:

該行已經屬於另一個表。

說明: 執行當前 Web 請求期間,出現未處理的異常。請檢查堆棧跟蹤信息,以了解有關該錯誤以及代碼中導致錯誤的出處的詳細信息。

異常詳細信息: System.ArgumentException: 該行已經屬於另一個表。

錯誤代碼如下:


DataTable sourceTable = null;

sourceTable = GetTest(tableName);

 

if (sourceTable == null)

{

return null;

}

DataTable retTable = new DataTable();

foreach (DataRow dr in sourceTable.Rows)

{

if (dr["主鍵"].ToString() != "")

{

retTable.Rows.Add(dr);

}

}

后經修改,調試通過,修改后代碼如下:


      DataTable sourceTable = null;

sourceTable = GetTest(tableName);

if (sourceTable == null)

{

return null;

}

DataTable retTable = new DataTable();

foreach (DataRow dr in sourceTable.Rows)

{

if (dr["主鍵"].ToString() != "")

{

retTable.Rows.Add(dr.ItemArray);

}

}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM