我在這裏有一個奇怪的情況,我希望有人能幫助我。使用無類型數據集時,我沒有同樣的問題。用UNION ALL填充輸入數據集ALL SQL查詢
好的。我有一個類型化的數據集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。
TableA有1行,TableB有15行。所以我的數據集返回16行(所以基本上這是一個主 - 細節情況)。除TableAID和TableBID之外,所有列都返回正確的相應數據。
TableAID具有值= 和TableBID具有10,11,12,13,24 .........,但是當我步中,
MyDS.MyTable(i).TableID
保持100在整個16個記錄,而不是100,10,11,12,13 ...... 24。標題,消息數據是正確的。 TableAID和TableBID是我的主鍵。
我 = 0〜15
請問這是怎麼類型化數據集處理UNION?我不想創建兩個類型化數據表併爲每個數據表創建單獨的SQL並創建一個關係。
是否有任何有條件的邏輯在您使用的步驟通過數據表的代碼?如果是這樣,你可以編輯你的問題的任何機會,包括它? – 2010-07-27 09:15:14
沒有條件邏輯。我用結果填充gridview。沒有什麼花哨。 – Nyiko 2010-07-27 09:29:41
我想我需要查看強類型數據集/數據表背後的代碼。 – knslyr 2010-07-27 13:45:43