Я новичок в программировании, но изучаю и изучаю много раз без какого-либо курса, поэтому я столкнулся с проблемой во многих случаях. Stack Over flow - подходящее место для решения моей проблемы.
На этот раз я обновил datagridview в файл .dbf для другого приложения, в котором используется база данных .dbf. Поэтому, пожалуйста, дайте мне лучшее решение для подготовки моей заявки.
Моя ошибка: "Динамическая генерация SQL для команды UpdateCommand не поддерживается для команды SelectCommand, которая не возвращает никакой информации ключевого столбца."
<
Мой код указан ниже.
Dim con As New OleDbConnection
Dim ds As New DataSet
Dim dt As New DataTable
Dim da As New OleDbDataAdapter
Dim con1 As New OleDbConnection
Dim ds1 As New DataSet
Dim dt1 As New DataTable
Dim da1 As New OleDbDataAdapter
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
con.ConnectionString = "Provider=vfpoledb.1;Data Source=C:\dbf_folder;Collating Sequence=machine;"
con.Open()
ds.Tables.Add(dt)
da = New OleDbDataAdapter("Select * from voterlist.dbf", con)
da.Fill(dt)
dbfdatagrid.DataSource = dt.DefaultView
con.Close()
End Sub
Private Sub btnupdate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnupdate.Click
con1.Close()
con1.ConnectionString = "Provider=vfpoledb.1;Data Source=C:\dbf_folder1;Collating Sequence=machine;"
con1.Open()
da1 = New OleDbDataAdapter("Select * from voterlist.dbf", con1)
Dim cb = New OleDbCommandBuilder(da1)
Dim primaryKey(1) As DataColumn
primaryKey(1) = dt1.Columns("areaid")
dt1.PrimaryKey = primaryKey
da1.Fill(dt)
dt.Merge(dt1)
da1.Update(dt)
End Sub