2013-05-18 66 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