2 таблицы (в БД) в 1 (DataSet)
От: StanislavB  
Дата: 24.02.05 16:06
Оценка:
Есть 2 таблицы в БД
Table1 (колонки C1,C2), Table2 (C1, C3). Поле С1 — ключ в Table1.
Хочу в DS сделать таблицу Table (C1, C2, C3), основываясь на MSDN:

You can use the Fill method multiple times on the same DataTable. If a primary key exists, incoming rows are merged with matching rows that already exist. If no primary key exists, incoming rows are appended to the DataTable.

сначала создаю вручную таблицу Table с первичным ключем C1 и добавляю её в DataSet.
Затем выполняю два запроса, ожидая, что объединение произойдёт по C1:
cmd.CommandText = "select c1,c2 from Table1";
dAdapter.Fill(ds, "Table");
cmd.CommandText = "select c1,c3 from Table2";
dAdapter.Fill(ds, "Table");

однако второй запрос очищает результаты первого.
Если таблицу Table вручную не создавать, то после выполнения всех запросов в ней появляются столбцы C1,C2,C3, но результаты двух запросов расположены в разных строках, т.е. строк в два раза больше, чем нужно.
В чём тут нюанс?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.