как объединить набор данных - PullRequest
0 голосов
/ 25 августа 2010

хай друзей

Я один такой набор данных, как три столбца:

tblkey Empkey Empname

T101 E10 Natraj
T102 E11 Siva
Т103 Е14 Ганеш

У меня есть другой набор данных ds1, только два столбца, подобные этому:

Empkey Empname
Е10 карта
E11 thriu
E13 маран

я хочу объединить набор данных и проверить значения, проверяя, если ds не имеет E13, он должен связать и показать результат, как этот ds

tblkey Empkey Empname

T101 E10 Natraj
T102 E11 Siva
Т103 Е14 Ганеш
E13 маран
здесь "tblkey" пусто
как это сделать:

1 Ответ

3 голосов
/ 25 августа 2010

Чтобы полностью воспроизвести ваш пример:

DataSet ds1 = new DataSet();
DataSet ds2 = new DataSet();

ds1.Tables.Add(new DataTable());
ds2.Tables.Add(new DataTable());

ds1.Tables[0].Columns.Add("tblkey");
ds1.Tables[0].Columns.Add("empkey");
ds1.Tables[0].Columns.Add("empname");

ds2.Tables[0].Columns.Add("empkey");
ds2.Tables[0].Columns.Add("empname");

ds1.Tables[0].Rows.Add("T101", "E10", "Natraj");
ds1.Tables[0].Rows.Add("T102", "E11", "Siva");
ds1.Tables[0].Rows.Add("T103", "E14", "ganesh");

ds2.Tables[0].Rows.Add("E10", "karthi");
ds2.Tables[0].Rows.Add("E11", "thriu");
ds2.Tables[0].Rows.Add("E13", "maran");

// primary keys must be set in order for the merge to work
ds1.Tables[0].PrimaryKey = new DataColumn[] { ds1.Tables[0].Columns["empkey"] };
ds2.Tables[0].PrimaryKey = new DataColumn[] { ds2.Tables[0].Columns["empkey"] };

// this is the critical line
ds1.Merge(ds2, true, MissingSchemaAction.Add);

Добавление отсутствующей схемы (в данном случае столбца tblkey) достигается путем правильной установки третьего параметра.

...