Я пытался вставить конкретные данные в моей базе данных (в моем случае это Microsoft Access), это следующий код, который я написал с помощью C#:вставки в заблуждение Постулаты
string sql = "Insert into Orders(User,PID,PName,Price,Amount)" +
" values('" + od.User + "','" + od.Pid + "','" +
od.Pname + "','" + od.Price + "','" + od.Amount + "')";
сейчас предположим, что форма, которую я написал, прекрасна, не так ли? Ошибка, которую я получаю:
Ошибка синтаксиса в инструкции INSERT INTO.
Возможно ли, что любое из ваших значений имеет одинарные кавычки в них? –
Что является источником 'od'? Все ли строки столбцов в таблице базы данных? По первому вопросу, если это пользователь, у вас могут быть уязвимости Sql Injection. Посмотрите в параметризованные запросы в любом случае, потому что это также касается встроенных одинарных кавычек во входе, как считает @Mike. Во втором случае, если некоторые из этих столбцов являются числовыми, у вас возникнут проблемы с типом данных. –
Почему вы не используете @Parameters при создании запроса Insert, тогда используйте команду 'command.Parameters.AddWithValues (@paramname, paramvalue);' – MethodMan