God is real Ответов: 0

Как обновить содержимое ячейки datagridview при внесении изменений в базу данных excel 2013


Imports System.Data.OleDb
Public Class FormAttacheeInfo
    Dim con As New OleDbConnection

   Private Sub FormAttacheeInfo_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        DataGridView1.AllowUserToAddRows = False
        con.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\TONYMA\Documents\RegistrationDB.accdb"
        con.Open()
        Dim dt As New DataTable
        Dim ds As New DataSet
        ds.Tables.Add(dt)
        Dim da As New OleDbDataAdapter
        da = New OleDbDataAdapter("SELECT * FROM TblAttachee", con)
        da.Fill(dt)
        DataGridView1.DataSource = dt.DefaultView
        con.Close()
    End Sub


    Private Sub BtnUpdate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnUpdate.Click
        If DataGridView1.SelectedCells.Count > 0 Then
            If MessageBox.Show("You want to Makes changes to this Record ?", "", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) = DialogResult.Yes Then
                Dim dt As New DataTable
                Dim ds As New DataSet
                ds.Tables.Add(dt)
                Dim da As New OleDbDataAdapter
                con.Open()
                da = New OleDbDataAdapter("SELECT * FROM TblAttachee", con)
                da.Fill(dt)

                Dim i As Integer = DataGridView1.SelectedCells(0).IsInEditMode
                dt.Rows(i).BeginEdit()
                'which code am i missing here so as to update changes into database when cell content has been changed

               
                dt.Rows(i).EndEdit()

                'code for refreshing datagridview1 that user can see the updated cell content

                con.Close()
                MessageBox.Show("Attachee's record successfully updated", "Confirmation", MessageBoxButtons.OK, MessageBoxIcon.Information)
            Else
                Me.Focus()
            End If
        End If
          
    End Sub

    Private Sub BtnDelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnDelete.Click
        If DataGridView1.SelectedRows.Count > 0 Then
            If MessageBox.Show("You want to Clear this Record ?", "ATTACHEES RECORD", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) = DialogResult.Yes Then
                Dim dt As New DataTable
                Dim ds As New DataSet
                ds.Tables.Add(dt)
                Dim da As New OleDbDataAdapter
                con.Open()
                da = New OleDbDataAdapter("SELECT * FROM TblAttachee", con)
                da.Fill(dt)
                Dim i As Integer = DataGridView1.SelectedRows(0).Index
                dt.Rows(i).BeginEdit()
                DataGridView1.Rows.Remove(DataGridView1.SelectedRows(0))
                dt.Rows(i).Delete()
                dt.Rows(i).EndEdit()
                Dim cmd As New OleDbCommandBuilder(da)
                ' Can't understand this exception , guys please help with a delete code ?
                da.Update(dt)

                DataGridView1.DataSource = dt.DefaultView
                con.Close()
                MessageBox.Show("Attachee deleted", "Confirmation", MessageBoxButtons.OK, MessageBoxIcon.Information)
            Else
                Me.Focus()
            End If
        End If
    End Sub
End Class


Что я уже пробовал:

я пробовал даже google . ОТВЕТА ПОКА НЕТ

Richard MacCutchan

"Не могу понять это исключение"
Затем, пожалуйста, добавьте точный текст исключения, чтобы мы могли его увидеть.

MessageBox.Show("Attachee's record successfully updated"
Не публикуйте сообщения об успешном выполнении, пока не убедитесь, что ваш код был выполнен успешно.

Dave Kreskowiak

Этот код не имеет никакого отношения к Excel вообще. Однако он использует базу данных Access.

Вам придется предоставить более подробное объяснение того, что вы делаете, что вы используете, и сообщение об исключении.

0 Ответов