2013-05-18 69 views
3

這裏是我的代碼:執行SQL命令後刷新DataGridView?

cn.Open() 
    cmd.CommandText = "insert into Student values('" ...... 
     cmd.ExecuteNonQuery() 
     cn.Close() 

關閉連接後,我希望我的DataGridView刷新它的數據的同時。
我是新的VB.NET我試過datagridview.refresh(),但它不工作,因爲我認爲這就像重新繪製不更新它的數據。
謝謝。

回答

2

如果更新基礎業務對象,UI應自動更新。我猜測你忘了做數據綁定,例如DataGridView.DataSource = yourDataTable

編輯:從你目前位置最簡單的方法很可能是替換此:

cmd.ExecuteNonQuery() 

this

Dim dt As New DataTable 
dt.Load(cmd.ExecuteReader()) 

然後:

DataGridView.DataSource = dt 

如果您需要數據庫更新,您可以想要使用DataAdapter及其Update方法。我鏈接的重載專門用於DataTable,即不需要DataSet,除非已經擁有它。

+0

是的,我沒有使用任何數據綁定,我該怎麼辦? –

+0

@Sasha:請參閱我的編輯。 – Neolisk

+1

謝謝Neolisk問題解決了,那真是太好了:) –

1

正如@Neolisk說,你所要做的綁定。例如

Dim ds as DataSet 
Dim sSql As New OleDb.OleDbCommand 

sSql = cnEZApp.CreateCommand() 

cmd = New Data.OleDb.OleDbDataAdapter("SELECT * FROM student ORDER by kode", conn) 
cmd.Fill(ds, "student") 
dgvGuru.DataSource = ds.Tables("student") 

因此,更新表作爲數據源,你所要做的

sSql.CommandText = "insert into Student(...) values(...)" 
cmd.UpdateCommand = sSql 
cmd.UpdateCommand.ExecuteNonQuery() 
cmd.ExecuteNonQuery() 
+0

謝謝matzone讚賞:) –

+1

@Sasha:Thanx ..對不起,在代碼中犯了一些錯誤.. – matzone