2014-10-19 2 views
0

Сводка: -
Два типа данных со списками имен файлов в первой колонке. Использование имени файла в datatable A для «поиска» datatable B & обновите третий файл с результатами., если выписка с данными данных

Борьба с утверждениями If для работы с частью foundRows.

Любые подсказки о том, как я могу заставить это функционировать?

 // Iterate through the leftFileDT, extract the filename & search rightFileDT 
     for (int i = 0; i < leftFileDT.Rows.Count - 1; i++) 
     { 
      // Extract the leftFileName & store it in a string variable 
      leftFileMatch = leftFileDT.Rows[i][0].ToString(); 

      // Search the rightFileDT for the leftFileMatch string 
      string expression; 
      expression = "Right_File_Name = '" + leftFileMatch + "'"; 
      DataRow[] foundRows; 
      foundRows = rightFileDT.Select(expression); 

      // If no match is found 
      if (notfound) 
      { 
       matchedFileDataRow["File_Match"] = "False"; 
       matchedFileDataRow["Left_File_Name"] = leftFileMatch; 
       matchedFileDT.Rows.Add(matchedFileDataRow); 
      } 
      // If a match is found 
      if (found) 
      { 
       // Update the matchedFileDT datatable 
       matchedFileDataRow["File_Match"] = "True"; 
       matchedFileDataRow["Left_File_Name"] = leftFileMatch; 
       matchedFileDT.Rows.Add(matchedFileDataRow); 

      } 



     // Report progress to 'UI' thread 
     comparerWorker_Left.ReportProgress(i); 
+0

Вызов 'ToString()' массива не поможет вам. Вместо этого используйте что-то вроде 'bool found = foundRows.Count> 0' – Michael

+0

В отличие от сайтов форума, мы не используем« Спасибо »,« Любая помощь оценена »или подписи на [so]. См. [Должны ли «Привет», «спасибо», теги и приветствия удалены из сообщений?] (Http://meta.stackoverflow.com/questions/2950/should-hi-thanks-taglines-and-salutations-be- удален-от-сообщений). – rene

ответ

0

Метод выбора типа datatable возвращает массив строк, соответствующих критериям фильтра.
Если строки не совпадают, массив пуст.

DataRow[] foundRows = rightFileDT.Select(expression); 
if (foundRows.Length == 0) 
{ 
    matchedFileDataRow["File_Match"] = "False"; 
} 
else 
{ 
    matchedFileDataRow["File_Match"] = "True"; 
} 
matchedFileDataRow["Left_File_Name"] = leftFileMatch; 
matchedFileDT.Rows.Add(matchedFileDataRow); 
Смежные вопросы