0

我知道这很简单,但我无法正确完成或在谷歌搜索中找到任何答案。

我想更新/编辑数据。在数据库服务器中,通过单击显示在我的DataGridView.

下面是我的子编辑,代码不会自动将记录提取到文本框。

Private Sub btnEdit_Click(ByVal sender As System.Object, 
  ByVal e As System.EventArgs) Handles btnEdit.Click

  Dim transaction As SqlTransaction = Nothing

  With New SqlConnection(connectionString)
    Try
      Call .Open()
      transaction = .BeginTransaction()
      With .CreateCommand()
        .Transaction = transaction
        .CommandText = "UPDATE [tbl_info] SET [Name]=@Name WHERE [ID]=@ID;"
        With .Parameters
          .AddWithValue("ID", txtID.Text)
          .AddWithValue("Name", txtName.Text)
        End With
        Call .ExecuteNonQuery()
        Call transaction.Commit()
        Call MessageBox.Show("has been update successfully")
      End With
    Catch ex As Exception
      Call transaction.Rollback()
      Call MessageBox.Show(ex.Message, "Error")
    Finally
      Call .Close()
    End Try
  End With
  RefreshData()

  Call txtID.Clear()
  Call txtName.Clear()
End Sub
4

1 回答 1

0

在 ExecuteNonQuery 行上,捕获受影响的行数。

Dim rc As Integer = .ExecuteNonQuery()

如果 rc 返回为零,我们可以告诉查询运行并且没有发现要更新的内容。

于 2013-03-20T04:58:40.367 回答