[英]How to Check DataSet Tables that contain the same ID?
我的問題是我有一個包含四個表的數據集,現在我想檢查第二個表的ID(例如假設表中有一個列empID)是否在第一個表中可用,如果ID可用則我要刪除該id(完整行),類似地,第三個表id將在第一個表中檢入,然后第二個表和第三個表在這些表中的任何一個上可用,然后再次從該表中刪除id。 其余表將重復相同的過程。
對於Exp:
BusinessClass.IsProcessedData = DataAccess.getDTHotelInfoIsProcessData();
BusinessClass.IsProcessedData.Tables[0].TableName = "TableOne";
BusinessClass.IsProcessedData.Tables[1].TableName = "TableTwo";
BusinessClass.IsProcessedData.Tables[2].TableName = "TableThree";
BusinessClass.IsProcessedData.Tables[3].TableName = "TableFour";
現在假設tableTwo表有10行,每行將與tableTwo Rows進行檢查,如果在兩個表中都找到相同的ID,則該ID將從Dataset的tableTwo中刪除。 所有表都使用相同的過程。 聽說我正在使用c#。謝謝
嘗試這個
foreach(dataset ds in yourmaindataset)
{
if(yourmaindataset.contains(ds))
//TODO:
}
我建議使用Dictionary或某種鍵-值配對,但是如果您必須以這種方式對表進行操作,則可以執行以下操作,但效率不高:
foreach(DataRow row1 in Tables[0].Rows)
{
foreach(DataRow row2 in Tables[1].Rows)
{
If(row2["empID"] == row1["empID"])
{
row2.Delete();
}
}
}
這是使用nvp對所有表進行操作的一種方法:
Hashtable hTable = new Hashtable();
foreach(Table table in Tables)
{
foreach (DataRow row in table.Rows)
{
if (hTable.Contains(row["empID"]))
row.Delete();
else
hTable.Add(row["empID"], string.Empty);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.