Member 14621280 Ответов: 2

После удаления записей datagridview1 не обновляется или не обновляется?


Привет,

Я пытаюсь удалить записи и они были успешно удалены но datagridview1 не обновляется и не обновляется

Помоги мне в этом....

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

Private Sub Button8_Click(sender As Object, e As EventArgs) Handles Button8.Click
       Dim CODE As String

       CODE = txtCode.Text

       Try
           sql = "delete from SONGS where CODE = ? "
           ConnD()
           cmd = New OleDbCommand(sql, conn)

           cmd.Parameters.AddWithValue("CODE", CODE)
           cmd.ExecuteNonQuery()
           Console.WriteLine(Command)
           MsgBox("Deleted", MsgBoxStyle.Information)
           Form_Load()

           conn.Close()

       Catch ex As Exception
           MessageBox.Show(ex.Message)


       End Try
   End Sub

2 Ответов

Рейтинг:
0

Richard MacCutchan

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

И тебе не следует звонить Form_Load изнутри обработчика на форме.


Member 14621280

Тусклый код в виде строки

Код = txtCode.Text

Попробуй
sql = "удалить из песен, где код = ? "
Конд()
cmd = New OleDbCommand(sql, conn)

cmd.параметры.AddWithValue("код", код)
УМК.Метод executenonquery()
Приставка.Строку(Команду)
MsgBox("Удалено", MsgBoxStyle.Информация)
DataGridView1.Обновить()


Коннектикут.Закрывать()

Поймать ex как исключение
Ящик для сообщений.Показать(напр.сообщение)

но это не сработает

Richard MacCutchan

Конечно, это не сработает, потому что ваш источник данных в памяти не был обновлен. Откуда DataGridView получает свою информацию?

Member 14621280

я использовал load_data()
но бесполезно

Richard MacCutchan

Что это значит?

Member 14621280

Public Sub Form_Load()

ЛД()

Конец Подводной Лодки
Общественные подпункт ЛД()
Конд()
sql = "выберите код,ETITLE,TTITLE,SONGT,SONGE из песен"
cmd = New OleDbCommand(sql, conn)
da = новый OleDbDataAdapter(sql, conn)
да.Заполнить(ДТ)
БС.Источник данных = ДТ
dr = cmd.Метода executereader()
DataGridView1.Источник данных = БС
DataGridView1.Columns(2).Visible = False
DataGridView1.Columns(3).Visible = False
DataGridView1.Columns(4).Visible = False
DataGridView1.Columns(0).AutoSizeMode = DataGridViewAutoSizeColumnMode.None
DataGridView1.Columns(1).AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill



Коннектикут.Закрывать()
Конец Подводной Лодки

Richard MacCutchan

См. ссылку ниже о том, как использовать DataAdapter для автоматизации изменений.

Member 14621280

не могли бы вы объяснить пожалуйста

Richard MacCutchan

Как вы заполняете DataGridView в первую очередь? Вам нужно подумать о логике вашего приложения. Любые изменения в вашей базе данных будут показаны в DataGridView только при повторном чтении всех записей или с помощью DataAdapter. Но я понятия не имею, как ваше приложение разработано или закодировано.

Member 14621280

да именно я только что создал чтение записей datagridview