SQL [Ошибка]: при синтаксическом анализе запроса произошла ошибка. [Номер строки токена = 1, смещение строки токена = 44, ошибка токена = - ]

Я не могу понять, почему это утверждение вызывает у меня проблемы:

sqlCommand.CommandText = @"INSERT INTO Fulfilled_Shipments_Data (amazon-order-id) VALUES " + lines[0];

Я получаю ошибку:

[Error]: There was an error parsing the query. [ Token line number = 1,Token line offset = 44,Token in error = - ]

который указывает на - в амазонке-идентификатор заказа.

Я получаю ту же ошибку, когда выполняю SQL из Visual Studio, но могу запросить существующие данные, используя имя этого столбца.

Я уверен, что для гуру SQL это тривиально, но я ломаю голову, поэтому любая помощь приветствуется!

3 ответа

Решение

Вам нужно сбежать amazon-order-id because it has minus(dash) sign. Так должно быть [amazon-order-id]:

...INSERT INTO Fulfilled_Shipments_Data ([amazon-order-id])...

Also, values should be in parenthesis:VALUES (" + lines[0]+")";

Окончательный вариант:

sqlCommand.CommandText = @"INSERT INTO 
Fulfilled_Shipments_Data ([amazon-order-id])
VALUES (" + lines[0]+")";

Я думаю, что ваш синтаксис SQL должен выглядеть так:

sqlCommand.CommandText = @"INSERT INTO Fulfilled_Shipments_Data (amazon-order-id) VALUES ('" + lines[0] + "')";

ИЛИ ЖЕ

sqlCommand.CommandText = @"INSERT INTO Fulfilled_Shipments_Data (amazon-order-id) VALUES (" + lines[0] + ")";

в зависимости от типа данных amazon-order-id

Попробуйте это.

sqlCommand.CommandText = @"INSERT INTO Fulfilled_Shipments_Data (amazon-order-id) VALUES ('" + lines[0]+"')";

ИЛИ ЖЕ

sqlCommand.CommandText = @"INSERT INTO Fulfilled_Shipments_Data ([amazon-order-id]) VALUES ('" + lines[0]+"')";
Другие вопросы по тегам