2014-02-22 85 views
0

在我的VB代碼我讀都來自數據庫的消息,有數百人的最佳方式:什麼是給數據庫表的最後一個元素/項

For Each lnews In ltable.Rows 
    Dim litem = lcontent 
    litem = litem.Replace("%Headline%", _ 
       Web.HttpUtility.HtmlEncode(lnews("Headline"))) 
Next 

我需要得到的只是3最新那些。什麼是最好的方式來做到這一點?

For i As Integer = 0 To 2 
    Dim s = ltable.Rows(i) 
Next i 

回答

2

我不知道有關的定義 「的最佳途徑」 在這裏,但你可以從DataTable中使用LINQ這樣獲得最後3行:

For Each s In ltable.AsEnumerable().Skip(ltable.Rows.Count() - 3) 
    's is a DataRow here 
Next 

或不LINQ:

Dim count = ltable.Rows.Count() 
For i As Integer = count - 4 To count - 1 
    Dim s = ltable.Rows(i) 
Next i 
1

您應該儘可能避免從數據庫中返回比所需數據更多的行,如果您返回超過100行的數據,則沒有意義只需要使用前3個,因爲它會增加查詢時間,因爲您在數據庫中獲得越來越多的頭條新聞。

如果你確實需要它們,但只需要前三個(或後三個),那麼你可以使用已經由har07發佈的LINQ。

相關問題