执行SQL命令后刷新DataGridView?

时间:2013-05-18 20:14:11

标签: vb.net datagridview

这是我的代码:

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

关闭连接后,我希望我的DataGridView也刷新它的数据 我是VB.NET的新手,我试过datagridview.refresh(),但它不起作用,因为我认为这就像重新绘制不更新数据一样。
感谢。

2 个答案:

答案 0 :(得分:2)

如果更新基础业务对象,则UI应自动更新。我猜你忘了做数据绑定,例如DataGridView.DataSource = yourDataTable

编辑:您现在最简单的方法可能就是替换它:

cmd.ExecuteNonQuery()

this

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

然后:

DataGridView.DataSource = dt

如果您需要数据库更新,可能需要使用DataAdapter及其Update方法。我链接的重载专门用于DataTable,即你不需要DataSet,除非你已经拥有它。

答案 1 :(得分: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()