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]+"')";