2014-03-24 35 views
0

我怎樣才能在GridView只顯示行, 其中的PrimaryKey> = primarykey.max - 20(20個最新行)我怎麼能只顯示在DataGridView新行

當我創建一個SQL聲明, 我可以使用在vb.net中聲明的變量嗎?(例如計數器添加的行數) 我必須在哪裏放置該聲明?

+0

時,你是如何填充的DataGridView?你是從數據源還是從數據表執行它? – 2014-03-24 13:11:23

+0

提供迄今爲止所做的工作。 –

+0

@Vladimir olesky with datasource – steve

回答

0

使用該SQL語句作爲數據源

SELECT TOP 20 FROM YourTable ORDER BY PrimaryKey DESC 

UPDATE

如果表名和PKEY必須是動態的,你可以使用參數化的命令。一旦形成了sql語句,你可以填寫一個DataSet並把它作爲數據源填充DataGridView

Dim cmd As New SqlCommand("SELECT TOP 20 FROM ? ORDER BY ? DESC", Connection)    

    cmd.Parameters.AddWithValue("@Table", YourDinamicTableName) 
    cmd.Parameters.AddWithValue("@PKey", YourDinamicKeyName) 

    Dim ds As New DataSet 
    Dim Adapter As New SqlDataAdapter(cmd) 

    Adapter.Fill(ds) 

    DataGridView1.DataSource = ds.Tables(0) 
+0

你好equisde,thx爲你的答案。 Probem認爲「20」應該是一個可以改變的變量。這意味着我需要一個參數化查詢。與此相關的問題是,我使用的數據源,我完全不知道自動創建的datasetDesignercode。 – steve

+0

@steve查看我的更新 – equisde

+0

thx的更新看起來不錯。 沒有表名不需要動態,只有pkey,但要糾正這很容易。 「?」怎麼樣?工作。是第一個?鏈接到第一個cmd.Parameters.AddWithValue,第二個?與第二個cmd.Parameters.AddWtihValue鏈接? – steve