0

これが私のコードです:

        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()

更新しても更新できません。助けてください!

4

2 に答える 2

0

これを実現する最善の方法は、データ グリッド ビューを再読み込みすることです。これを行う方法を説明するコードは次のとおりです

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()
于 2013-08-21T10:15:43.863 に答える