vb.net中更新后如何刷新datagridview

vb.net中更新后如何刷新datagridview,vb.net,winforms,datagridview,Vb.net,Winforms,Datagridview,这是我的密码: Dim sqledit As New SqlCommand sqledit = New SqlCommand("UPDATE Branches SET StAddress='" + txtstaddress.Text + "',City='" + txtcity.Text + "',Province='" + txtprovince.Text + "',ContactNo='" + txtcontact.Text + "' WHERE Branch

这是我的密码:

        Dim sqledit As New SqlCommand
        sqledit = New SqlCommand("UPDATE Branches SET StAddress='" + txtstaddress.Text + "',City='" + txtcity.Text + "',Province='" + txtprovince.Text + "',ContactNo='" + txtcontact.Text + "' WHERE BranchID='" + txtbranchid.Text + "'", con1)
        sqledit.ExecuteNonQuery()
        MsgBox("Branch Information Updated!", MsgBoxStyle.Information, Title:="Edit Branch Information")
        utilities.Refresh()
        Me.Close()

即使我刷新它,也无法更新它。请帮忙

实现这一点的最佳方法是重新加载数据网格视图。下面是解释如何执行此操作的代码

Private Sub refreshDatagrid()
    Dim con As MySqlConnection = New MySqlConnection("Data Source=localhost;Database=reerp;User ID=root;Password=root;")
    Dim sql As MySqlCommand = New MySqlCommand("SELECT * FROM users", con)
    Dim ds As DataSet = New DataSet()
    Dim DataAdapter1 As MySqlDataAdapter = New MySqlDataAdapter()
    con.Open()
    DataAdapter1.SelectCommand = sql
    DataAdapter1.Fill(ds, "Users")
    DataGridView1.DataSource = ds
    DataGridView1.DataMember = "Users"
    con.Close()

End Sub
现在,将数据添加到网格后,只需再次调用此方法。下面是一个你如何做到这一点的例子

   Dim query As String
    Dim con As MySqlConnection = New MySqlConnection("data source=localhost;database=reerp;user id=root;password=root;")

    query = "insert into users (username,password,first_name,last_name,role) values('"
    query = query + tb_username.Text + "','" + tb_password.Text + "','" + tb_firstname.Text + "','" + tb_lastname.Text + "','" + ComboBox_role.Text + "');"
    con.Open()

    Dim cmd As MySqlCommand = New MySqlCommand(query, con)

    Dim i As Integer = cmd.ExecuteNonQuery()
    If (i > 0) Then
        lblMsg.Text = "record is successfully inserted"
        refreshDatagrid()

    Else
        lblMsg.Text = "record is not inserted"
    End If
    con.Close()
也有简单的方法 您可以通过datagridview进行查询,以调用所有表内容 例如:

SELECT {your table field}
FROM {table name}

如果在更改后执行此查询,它将显示DGV上的新数据。

添加更多详细信息,如何填充datagridview?Sql注入警报。你的代码实际上是在乞求被黑客入侵。简单的例子:试着输入文本:
;升降台分支--在您的街道地址字段中。。。或者,如果您不想从备份中恢复该表,请不要这样做。谢谢,先生。但是,您能帮我解决我遇到的更新问题吗?您直接更新数据库,您需要反映作为datagridview数据源的任何对象中的更改,可能需要转到数据库并再次获取信息,一旦您从数据库中获得最新的信息,程序将反映datagridview中的更改。