Member 13659167 Ответов: 1

Обновление файла excel с помощью VB .NET


Привет,

Я пытаюсь обновить столбец в файле excel.
На данный момент у меня есть код, который обновляет только один в то время.
Я хотел бы обновить много столбцов одновременно.

Когда я пытаюсь запустить это, у меня есть синтаксическая ошибка в инструкции UPDATE


Кто-нибудь может мне помочь ?

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

'Create the connection string to connect to the Microsoft Excel Workbook
Dim connectionString As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=FORM\FORM.xlsx;Extended Properties = ""Excel 12.0 Xml;HDR=YES"""
Dim updateStatement As String = "UPDATE [DATA$] SET LINE = '" + NAMEASSOCIATEINPUT.Text + "',TIME = '" + NAMEASSOCIATEINPUT.Text + "'"

'Create a connection object to connect to the Excel Workbook
Dim connection As New OleDbConnection(connectionString)
'Create a command object that will execute the update statement
Dim command As New OleDbCommand(updateStatement, connection)
'Open the connection, execute the statement and close the connection
connection.Open()
command.ExecuteNonQuery()
connection.Close()
'Dispose of the connection and command objects
connection.Dispose()
command.Dispose()
'Call the RefreshData routine so that you can see that data was indeed updated.

Richard MacCutchan

Посмотрите на фактическое содержание инструкции UPDATE, когда вы пытаетесь отправить ее в базу данных.

CHill60

У вас есть лист под названием "данные". Что находится в NAMEASSOCIATEINPUT.Text?
У вас есть колонки под названием Линия и время.
Попробуйте окружить зарезервированные слова квадратными скобками, например [TIME]

Member 13659167

Я предполагаю, что здесь есть ошибка. Итак, если я хочу обновить более одного, как я должен написать заявление об обновлении ?

Member 13659167

Да, у меня есть лист под названием DATA.
В этом текстовом поле находится текст.
Да, у меня есть колонки линия и время.
Я пытаюсь добавить квадратные скобки, но все равно не получается.

1 Ответов

Рейтинг:
0

Maciej Los

Ваш код уязвим для SQL-инъекций. Пожалуйста, прочтите мое письмо. прошлый ответ[^] чтобы получить более подробную информацию.

Ваша строка подключения неправильная:

Dim connectionString As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=FORM\FORM.xlsx;Extended Properties = ""Excel 12.0 Xml;HDR=YES"""

потому что путь к файлу является неполным! Вы должны указать полное имя файла, включая полный путь.

Пожалуйста, ознакомьтесь с примечаниями, приведенными здесь: Строки подключения Microsoft ACE OLEDB 12.0 - ConnectionStrings.com[^]