2015-05-27 2 views
0

Мой вопрос: у меня есть один набор данных, который содержит четыре таблицы, теперь я хочу проверить id (например, предположим, что в таблице есть один столбец empID) второй таблицы доступен в первой таблице или нет, если id доступен, тогда i хотите удалить этот идентификатор (полная строка), аналогично, третий идентификатор таблицы будет проверяться в первой таблице, а затем вторая таблица и третья таблица доступна в любой из этих таблиц, а затем этот идентификатор будет удален из этой таблицы. и тот же процесс будет повторяться для оставшейся таблицы.Как проверить таблицы DataSet, содержащие один и тот же идентификатор?

Для опыта:

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 Ряды и если он нашел тот же идентификатор как в таблице, то, что идентификатор будет удалить из tableTwo из Dataset. и тот же процесс для всей таблицы. заслушивать я использую C# .thank Вы

+0

Таблицы [0] .Rows [* Foundrow *]. Удалить() – JWiley

ответ

0

Попробуйте

foreach(dataset ds in yourmaindataset) 
    { 
      if(yourmaindataset.contains(ds)) 
      //TODO: 
    } 
0

Я предлагаю использовать словарь или какой-то ключ-значение спаривания, но если вы должны сделать это таким образом с помощью таблиц, то что-то, как это будет работать, но не будет эффективным:

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); 
    } 
} 
+0

Спасибо, это полезно. – user3810961

+0

Это полезно, или это то, что вам нужно? Вы все настроены? – JWiley

Смежные вопросы