копировать поток данных из одной таблицы данных в другую?

#datatable

#таблица данных

Вопрос:

У меня есть очень конкретное требование. У меня есть две таблицы данных (обе с одинаковой схемой), одна таблица (aqTable) с 2 строками, а другая (rapidsTable) с 5 строками. Мне нужно проверить, присутствуют ли эти 2 строки в aqTable в этих 5 строках rapidsTable или нет, если эти две строки присутствуют в rapidsTable, то скопируйте оставшиеся (разница) 3 строки в aqTable.

Я пробовал это таким образом, но когда он зацикливается на 3-й строке, выдается исключение «Нет строки a position2», потому что в одной из таблиц не более 2 строк.

 if (rapidsTable.Rows.Count > aqTable.Rows.Count)
{
try
  {
    int aqRow = 0; rows = 0;
    int rCount = rapidsTable.Rows.Count;
    for (int rRow = 0; rRow < rCount; rRow  )
    {
      if (aqTable.Rows.Count == 0)
      {
         DataRow row = aqTable.NewRow();
         row.ItemArray = rapidsTable.Rows[aqRow].ItemArray;
         rowStr  = rapidsTable.Rows[rRow][0].ToString()   ",";
         aqTable.Rows.Add(row); rows  ;
      }
      else
      {
         string str = aqTable.Rows[aqRow].ToString();
         if (aqTable.Rows.ToString() == null || aqTable.Rows.ToString() == "") 
         { }
         if ((aqTable.Rows[aqRow][1].ToString() == rapidsTable.Rows[rRow][1].ToString()) amp;amp;
             (aqTable.Rows[aqRow][2].ToString() == rapidsTable.Rows[rRow][2].ToString()) amp;amp;
             (aqTable.Rows[aqRow][3].ToString() == rapidsTable.Rows[rRow][3].ToString()))
         { }
         else
         {
             DataRow row = aqTable.NewRow();
             row.ItemArray = rapidsTable.Rows[aqRow].ItemArray;
             rowStr  = rapidsTable.Rows[rRow][0].ToString()   ",";
             aqTable.Rows.Add(row); rRow = rRow - 1; rows  ;
          }
      }
     aqRow  ;
    }  
catch (Exception ex)
{ throw new Exception("R>AQ Copy: "   ex.Message); }
  

Есть ли способ решить эту проблему для этого исключения. Я перепробовал много разных способов из многих разных блогов. Обнаружил, что в этом блоге есть несколько лучших примеров, решил поделиться своей проблемой.

Комментарии:

1. используйте 4 пробела для отступа вашего кода

Ответ №1:

Я думаю, это то, что вы ищете

http://support.microsoft.com/default.aspx?scid=kb ;RU-US;Q308909