как я могу заполнить несколько table
на несколько DataGridview
? например, у меня есть 3 таблицы, которые являются table1
, table2
и table3
, и в моей форме у меня есть 3 dataGridView с именем dataGridView1
, dataGridView2
и dataGridView3
. Я нашел это решение Updating an Access Database via a DataGridView Using OLEDB in VB.NET в результате моего кода.Visual Studio - несколько таблиц для нескольких DataGridView с MS Access
функция loadDatabaseDataToGridView
Dim msAccessFilePath As String
Dim con As New OleDbConnection
Dim dataTable, dataTable2, dataTable3, dataTable4 As New DataTable
Dim olebDataAdapter As New OleDbDataAdapter
Dim da As New OleDbDataAdapter
Dim dataSet As New DataSet
Private Sub loadDatabaseDataToGridView()
Try
con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & msAccessFilePath
dataSet.Tables.Add(dataTable)
olebDataAdapter = New OleDbDataAdapter("Select * from table1", con)
olebDataAdapter.Fill(dataTable)
olebDataAdapter = New OleDbDataAdapter("Select * from table2", con)
olebDataAdapter.Fill(dataTable2)
olebDataAdapter = New OleDbDataAdapter("Select * from table3", con)
olebDataAdapter.Fill(dataTable3)
DataGridView1.DataSource = dataTable.DefaultView
DataGridView2.DataSource = dataTable2.DefaultView
DataGridView3.DataSource = dataTable3.DefaultView
Dim cb = New OleDbCommandBuilder(olebDataAdapter)
cb.QuotePrefix = "["
cb.QuoteSuffix = "]"
MessageBox.Show("Successfull")
Catch ex As Exception
MessageBox.Show("Failed")
con.Close()
End Try
con.Close()
End Sub
функция SaveChanges
'Perform this on Button Save is Click
Private Sub saveChanges()
olebDataAdapter.Update(dataSet)
End Sub
Этот код работает, как excpected, она заселение данные from MS Access file
, но когда я нажал на кнопку Сохранить, чтобы сохранить изменения при редактировании данных произошла ошибка.
ОШИБКА:
Concurrency violation: the UpdateCommand affected 0 of the expected 1 records
кто знает, как правильно реализовать то, что я пытаюсь добиться? Большое спасибо!!!
Создание нового экземпляра OleDbDataAdapter для каждой таблицы приведет к тому, что команда Update будет работать только с последней таблицей. Не могли бы вы добавить, какое сообщение об ошибке получено? – Steve
Я уже обновляю свой вопрос, пожалуйста, проверьте. Благодаря! – bernzkie
Эти ошибки, похоже, связаны с вашим файлом. У вас есть доступ к открытому в представлении дизайна таблицы? – Steve