Vb. net Вставить в акк - PullRequest
       11

Vb. net Вставить в акк

0 голосов
/ 20 февраля 2020

Это говорит синтаксическая ошибка на INSERT INTO

Connection.Open()
Query = "INSERT INTO Admin (Username, Password, FullName, Office) Values ('" & TXT_USERNAME.Text & "','" & TXT_PASSWORD.Text & "','" & TXT_NAME.Text & "','" & CB_UNIT.Text & "');"
Command = New OleDbCommand(Query, Connection)
Command.ExecuteNonQuery()

1 Ответ

0 голосов
/ 20 февраля 2020

В данном случае проблема c заключается в том, что Password является зарезервированным словом в Jet / Access SQL. Чтобы использовать зарезервированное слово в качестве идентификатора, вам нужно его избежать. В Jet / Access SQL это означает заключить его в квадратные скобки:

INSERT INTO Admin (Username, [Password], FullName, Office) Values (...)

Некоторые люди предпочитают избегать всех идентификаторов, просто чтобы быть в безопасности.

Есть и другие проблемы там тоже хотя. Самое главное, вы должны научиться использовать параметры в коде ADO. NET. На самом деле ваш код взломал бы sh ваше приложение с другой синтаксической ошибкой, если бы чье-либо полное имя было «Джон О'Брайен». Использование параметров позволяет избежать проблем с одинарными кавычками, форматированием дат и чисел и, что самое важное, защищает от атак SQL. Узнайте правильный путь НЕМЕДЛЕННО.

...