資料庫來源不同,建立成兩個 datatable, 該如何再進一步 SQL 篩選結合建立新的 datatable
可能需要透過 LinQ 這個東西來作
要查一下
使用 Visual Basic 撰寫 LINQ 入門
查詢 (Visual Basic)
' Data source.
Dim numbers() As Integer = {0, 1, 2, 3, 4, 5, 6}
' Query creation.
Dim evensQuery = From num In numbers _
Where num Mod 2 = 0 _
Select num
' Query execution.
For Each number In evensQuery
Console.Write(number & " ")
Next
' Query execution.
'似乎查詢語法的結果,每筆資料會是一個 datarow
'所以用增加每個 row 的方式
'不能直接把 LinQ 查詢出來的結果 tbl, 直接複製到 dataTable
'透過 ImportRow(datarow) 來作,或是 evensQuery.CopyToDataTable 來複製或繫結
LINQ - join 與 lethttp://blog.xuite.net/cppbuilder/blog/14800296
==============================================
太不熟了
馬上就碰到問題
==============================================
太不熟了
馬上就碰到問題
從查詢中建立 DataTable (LINQ to DataSet)
偵錯 LINQ
================================================
太靠北了
因為資料數值 可能會包含 ''空白字元"
變成說我再比對欄位的時候
核對找不到資料.....
LINQ的经典例子-Where,Select、SelectMany、SkipWhile子句中使用数组索引
======================================================
SELECT 在使用上
如果有創造或是結合成為新的 datarow 時
要用 SELECT NEW WITH {
裡面放自訂的欄位
.自訂欄位 = 某個值
或是說
放原本宣告的 dataTable
a, b ........
}
當下 LinQ 字串時
宣告承接 LinQ 字串 的變數型別
要與 SELECT 出來的 型別相當
例如
query as IEnumerable(Of DataRow)
無法承接
SELECT NEW WITH { a, b }
因為 a, b 兩個都是 DataRow,
發現是跟 LINQ 的 select 之下 是 匿名型別
在指定完欄位以後該如何轉換匿名型別為目標型別?
當下 LinQ 字串時
宣告承接 LinQ 字串 的變數型別
要與 SELECT 出來的 型別相當
例如
query as IEnumerable(Of DataRow)
無法承接
SELECT NEW WITH { a, b }
因為 a, b 兩個都是 DataRow,
發現是跟 LINQ 的 select 之下 是 匿名型別
在指定完欄位以後該如何轉換匿名型別為目標型別?
LinQ 學習筆記 – LinQ to SQL
========================================
換個效能不佳的方式先解
用flag去紀錄核對的兩個 table 哪筆資料應該被撈出來
再寫回去 table 裡面 (視情況建立新欄位)
沒有留言:
張貼留言