В запрос не подставляются параметры, делаю так:
using (MySqlCommand command = new MySqlCommand("INSERT INTO users (name, email, password) VALUES ('@username', '@email', '@password')", this.mc))
{
command.Prepare();
command.Parameters.AddWithValue("@username", this.username);
command.Parameters.AddWithValue("@email", this.email);
command.Parameters.AddWithValue("@password", this.password);
int numRows = command.ExecuteNonQuery();
if (numRows > 0)
{
return true;
}
else
{
return false;
}
}
В итоге в базу добавляются значения так, как они есть в строке запроса изначально, т.е. @username, @email, @password и т.д. Что я делаю не так? Прогуглил, везде делают так, в некоторых местах пишут вместо '@' - ':' или '?' - так тоже пробовал, то же самое. Пробовал при добавлении параметра указывать без символа, т.е.
command.Parameters.AddWithValue("password", this.password);
Так тоже не работает.
Уберите одинарные кавычки вокруг параметров в SQL запросе.
Update
значения им не придавал
Параметры в SQL - это как переменные в C#.
Аналог запроса с кавычками - как у Вас:
string a = "This is value of variable a.";
string b = "Add something to variable a - 'a'";
Аналог запроса без кавычек:
string a = "This is value of variable a.";
string b = $"Add something to variable a - {a}";
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
С помощью определенной функции получаю все ссылки на классы в нужном Gameobject
Рихтер в своей книге целую главу посвятил данному механизму, но я так и не понял в каких сценариях его имеет смысл применять
Необходимо передать WM_KEYDOWN через SendMessage, имея unicode char независимо от выбранной пользователем раскладки клавиатуры в конкретное окно