Чтобы проверить наличие дубликатов, попробуйте
if (table.Rows.Contain(PriKeyTypeValue)) /*See if a Primary Key Value is in
the table already */
continue;
else
table.Row.Add(value1, value2, value3);
Если вы хотите иметь возможность вставлять дублирующиеся строки, но не хотите, чтобы выбрасывалось исключение, устанавливайте ваш первичный ключ как уникальный саминкрементный int, тогда вы можете вставить столько дубликатов, сколько захотите, без необходимости проверять чтобы увидеть, содержит ли таблица это значение. Вы можете установить значение первичного ключа, как показано ниже ....
DataTable table = new DataTable();
table.Columns.Add("Column", typeof(int));
DataColumn column = table.Columns["Column"];
column.Unique = true;
column.AutoIncrement = true;
column.AutoIncrementStep = 1; //change these to whatever works for you
column.AutoIncrementSeed = 1;
table.PrimaryKey = new DataColumn[] { column };