![]() ![]() ![]() ![]() |
|||||
|
|||||
樓主 P陳 ![]()
![]() |
從資料庫中讀入三個 DataTable 學生主檔 StudentDt 學號,姓名,班級編號,座號 班級主檔 ClassDt 班級編號,班級名稱,教師編號 教師主檔 TeacherDt 教師編號,教師姓名 請問: A.現在要將二個 Dt 合併成一個 StudentClassDt,請問 Linq 要如何寫? 學號,姓名,班級編號,班級名稱,座號 B.現在要將這三個 Dt 合併成一個 StudentClassTeacherDt,請問 Linq 要如何寫? 加入班級名稱,教師編號,教師姓名 學號,姓名,班級編號,班級名稱,教師編號,教師姓名,座號
搜尋相關Tags的文章:
[ 合併資料表 LINQ 寫法 ] ,
本篇文章發表於2020-12-12 20:45 |
1樓
作者回應
P陳 ![]() |
目前我能作到的如下 請各位教導一下:
Dim StudentClassdt As Object = (From S In StudentDt Join C In ClassDt On S("班級編號") Equals C("班級編號") Select (S("學號"), S("班級編號"), C("班級名稱")) ) For Each row1 As DataRow In StudentClassdt.rows Debug.Print(row1("學號")) Next
本篇文章回覆於2020-12-12 21:25
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
2樓
作者回應
P陳 ![]() |
再經研究 紅色的區塊 語法錯誤,綠色區塊可以顯示資料,但已不是我原來的欄名了,要用 Item1 Item2...
Dim StudentClassdt As Object = (From S In StudentDt Join C In ClassDt On S("班級編號") Equals C("班級編號") Select (S("學號"), S("班級編號"), C("班級名稱")) ) For Each row1 As DataRow In StudentClassdt.rows Debug.Print(row1("學號")) Next For Each row1 As Object In StudentClassdt Debug.Print(row1.item1) Next
本篇文章回覆於2020-12-12 21:51
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
3樓
不錯的參考
真的有點難 ![]() |
在sql的procedure 把3個table 塞在一個 暫存table
鋼琴 跟 薩克斯風 樂聲都很美
本篇文章回覆於2020-12-13 19:43
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
4樓
作者回應
P陳 ![]() |
真的有點難您好:
用 Access Query 那種的寫法我會,我的目的是要將 讀入資料 與 組合分開來作,以減輕伺服器的負擔。 因為 每次讀取時都要在 SQL 中組合我要的資料再送出來。 比如學生主檔有3000筆資料,我要某個班級的資料時(比如40筆),就要組合 學生主檔 教師主檔 班級主檔 再給出我要的資料 ,個人端的電腦就只能乾等。 我的想法是 教師主檔 班級主檔 先讀進來放者,讀入只要讀入某個班級的學生資料後,再用 LINQ 來組合,此時只要組合40筆的資料即可。可以減少伺服器的負擔。 因為多人同時使用,所以各項條件來讀取學生主檔次數很高,將資料分成前後端來作,可以提高反應速度,減輕伺服器的負擔。 是否真是如此,要測一下了。
本篇文章回覆於2020-12-13 22:39
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
5樓
最有價值解答
香帥 ![]() |
請參考
LINQ學習筆記(6) Join — 多表單多條件式 雖然是c#寫的,但要轉為vb.net應該很簡單
本篇文章回覆於2020-12-14 22:11
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
6樓
作者回應
P陳 ![]() |
香帥您好:
那個例子的資料來源是 LIST,而我是希望能用 Datatable 目前正在努力研習中。 謝謝您
本篇文章回覆於2020-12-16 21:00
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
回覆 |
如要回應,請先登入. |