2015-11-13 3 views
1

У меня есть DataTable со следующей структурой:Проверить значение DataTable, чтобы обновить или вставить в C#

Department | DocumentID | Days 

Перед тем, как добавить строки к этому DataTable я должен рассмотреть две ситуации:

  1. Если Department и DocumentID уже существует, обновляется число дней в одной строке.
  2. еще добавить строку.

Пример: Вместо нескольких записей для одной Department и DocumentID

Marketing  | 1 | 10 
Human Resources | 1 | 5 
Marketing  | 1 | 5 
Marketing  | 2 | 5 

Если добавить количество дней в существующей строке

Marketing  | 1 | 15 
Human Resources | 1 | 5 
Marketing  | 2 | 5 

Если это не так легко выполнимо, я думал добавив несколько записей в одну таблицу, а затем суммируйте дни, где Department и DocumentID - это то же самое, но я не succ также при этом.

Любые советы?

ответ

2

Вы можете найти свой тип данных с помощью метода Select, который использует синтаксис SQL для фильтрации.

Затем либо вставьте новую строку, либо обновите найденную вами.

var rows = dataTable.Select(string.Format("DocumentId = {0}", documentId)); 

if (rows.Length == 0) 
{ 
    // Add your Row 
} 
else 
{ 
    // Update your Days 
    rows[0]["Days"] = newDayValue; 
} 
+0

С некоторыми настройками он может решить мою проблему, я сделаю еще несколько тестов, прежде чем принимать ответ. – iamdlm

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

  • Нет связанных вопросов^_^