2012-08-13 71 views
0

在下面的代碼中,我只想在第一行顯示來自數據庫的數據。我如何顯示數據?如何僅顯示查詢結果中的第一行

Dim sql As String 
sql = "SELECT * FROM category " 
Dim adp As New OleDbDataAdapter(sql, conn) 
Dim dataset As New DataSet 
adp.Fill(dataset, "Table") 
For Each dbrow As DataRow In dataset.Tables("Table").Rows 
    'subcate.Items.Add(dbrow.Item("sub_cate")) 
    DataGridView1.CurrentRow.Cells(0).Value = dbrow.Item("code") 
Next 

回答

0

而不是從數據庫中檢索整個列表,然後只顯示第一行,它的效率更高,以使數據庫做的工作,只返回第一行,特別是如果categories表中有大量的記錄。實際的SQL語法可能會根據你所使用的數據庫不同,但你可以嘗試這樣的:

Dim sql as string = "SELECT TOP 1 * FROM category" 

此外,可以考慮使用OleDbCommand對象,而不是OleDbDataAdapter如果你正在爲只讀顯示數據只有在創建DataAdapter對象時有更多開銷。

+1

如果你有一個'TOP 1' - 你還需要'ORDER BY' - 否則你可能會得到不可預測的結果,因爲在任何SQL數據庫中都沒有默認的順序 - 你必須明確地要求它在你的陳述 – 2012-08-13 20:25:54

+0

有一個'ORDER BY',這是有道理的。 :-) – Hobbes 2012-08-13 20:51:45