У меня здесь странная ситуация, и я надеюсь, что кто-нибудь сможет мне помочь. У меня нет той же проблемы при использовании нетипизированного набора данных.
OK. У меня есть типизированный набор данных MyDS с типизированной таблицей данных MyTable (TableID, Title, Message).
Таблица заполняется результатами из двух таблиц, используя UNION ALL
Select
TableAID,
TableATitle,
Message
FROM TableA
UNION ALL
Select
TableBID,
TableBTitle,
Message
FROM TableB
Dim cmd As SqlCommand = New SqlCommand("SQL", conn)
Dim da AS SqlDataAdapter = New SqlDataAdapter(cmd)
da.Fill(MyDS.MyTable)
Запрос хорошо работает на SQL Server, но когда я перебираю код, я нахожу неверный TableAID или TableAID.
Таблица A имеет 1 строку, а TableB - 15 строк. Итак, мой набор данных возвращает 16 строк (так что в основном это ситуация с деталями мастера). Все столбцы возвращают правильные соответствующие данные, кроме TableAID и TableBID.
TableAID имеет значение = 100 , а TableBID имеет 10, 11, 12, 13, ......... 24 , но когда я прохожу,
MyDS.MyTable(<strong>i</strong>).TableID
остается 100 во всех 16 записях вместо 100, 10, 11, 12, 13, ......... 24. Название, данные сообщения верны. TableAID и TableBID - мои основные ключи.
i = от 0 до 15
Это как наборы типизированных данных обрабатывают UNION? Я не хотел создавать два типизированных таблицы данных, создавать отдельные SQL для каждого и создавать отношения.