I have a question about comparing 2 tables. If in tables 1 doesn’t contain column’s name from tables 2, add the column with values. So i did it with my code, but don’t know why it gives me error that the column already belongs to tables1. What did i do wrong here? Is there any better way to do it?
Example, table1:
Name LastName
a aa
b bb
table2:
Name Product
s dd
a ss
result:
Name LastName Product
a aa dd
b bb ss
My code:
for (int i = 0; i < excelTb2.Columns.Count; i++)
{
for (int j = 0; j < Temp.Columns.Count; j++ )
{
if (Temp.Columns[j].ColumnName.ToString() != excelTb2.Columns[i].ColumnName.ToString())
{
excelTb2.Columns.Add(Temp.Columns[j].ColumnName.ToString());
for (int ok = 0; ok < 2; ok++)
{
excelTb2.Rows[ok][Temp.Columns[j].ColumnName] = Temp.Rows[ok][j];
}
}
}
}
Columns is a collection. You could check if the column name is already present using Contains
This will remove the need of the nested loop that is the main cause of the error you get