請教Datatable排序問題
請教各位大大,我接收股票資料到datatable(dt1),如圖一所示,我想將這十檔股票資料依成交量(volume)由大到小做排序之後,抓前六檔放入dt2,如圖二所示;請教各位大大這語法要如何撰寫.INSERT INTO dt2
SELECT TOP 6 FROM dt1 ORDER BY VOLUME shunyulu 發表於 17-11-26 13:09
INSERT INTO dt2
SELECT TOP 6 FROM dt1 ORDER BY VOLUME
小 BUG: ORDER BY VOLUME DESC (由大排到小)
感謝分享{:4_151:} 小弟剛使用Visual studio平台不久,對程式語法還不是很熟,可否請前輩們提供程式碼,讓我可以比較容易理解.感激不盡!!
隨便寫寫, this is VB, 可能有typo, 用LINQ更快, 不過你是初學者就這樣做.
要先Imports進來datatable的命名空間System.Data
Dim dt1 as new datatable
Dim dv1 as dataview
Dim dc as datacolumn
Dim dt2 as new datatable
Dim dr as datarow
Dim i as integer
'..... create 你要的data column
dc = new datacolumn()
dc.Name = "StockCode"
dc.DataType = Type.("System.String")
dt1.columns.add(dc)
'.....
'..... create whatever columns 你要的
'把你要的資料新增到dt1
dr = dt1.newrow
dr("StockCode") = ???
dr("FieldName2") = ???
dt.rows.add(dr)
'我喜歡用dataview, 用datatable直接排序也行
dv1 = new dataview(dt1)
dv1.Sort = "Volumn DESC"
' create 你要的 dt2, 或是直接複製dt1的結構
for i = 0 to 5
dr = dt2.NewRow
dr("FieldName1") = dv1(i)("FieldName1")
dr("FieldName2") = dv1(i)("FieldName2")
.......
'把資料列複製到dt2
dt2.rows.add(dr)
Next
'甘巴爹
寫的很詳細,謝謝shunyulu大提供的程式碼!
頁:
[1]