kyrons Ответов: 2

Как обновить значение из одной базы данных в другую базу данных в VB.NET-что?


Я использую базу данных MS Access. Я хочу обновить значение данных другой базы данных по их первичному ключу. ControlNo(первичный ключ Database1) и Controlno(первичный ключ Database2). Если стоимость данных database1 обновляется, так как в База данных 2.

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

Это мой код.:
Dim connstring As String
       connstring = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Database1.accdb;"
       Dim conn As OleDbConnection = New OleDbConnection(connstring)
       Dim updatescardempnum As String = "UPDATE Database1_Table [Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Database2.accdb;].Database2_Table ON Database1_Table.fn = Database2_Table.FirstName SET Database1_Table.ControlNo = Database2_Table.Controlno"
       Dim cmdupdatescardempnum As New OleDbCommand(updatescardempnum, conn)
       conn.Open()
       cmdupdatescardempnum.ExecuteNonQuery()
       conn.Close()


Приведенный выше код показывает эту ошибку:

Необработанное исключение типа 'System.Data.OleDb.OleDbException' произошло в System.Data.dll
Дополнительная информация: синтаксическая ошибка в инструкции UPDATE.

2 Ответов

Рейтинг:
2

Maciej Los

Что ж...

Если вы в данный момент подключены к первой базе данных и хотите обновить вторую базу данных, вам необходимо использовать в статье[^]. Пример использования IN пункт, который вы найдете здесь: Как получить данные из нескольких книг с помощью одного OleDbConnection?[^]. Этот совет предназначен для Excel, но вы можете использовать IN то же самое происходит и в MS Access.

Примечание: Я бы настоятельно рекомендовал вам свяжите таблицу во второй базе данных[^], то вы сможете обновить его как локальную таблицу.


Рейтинг:
1

RickZeeland

Вам понадобятся две отдельные строки подключения и управление двумя соединениями.
Или вы можете попробовать метод, показанный здесь Как подключить две или более баз данных в Visual Basic? - переполнение стека[^]