C # MySQL Parameters:? ou @
Estou meio confuso com os parâmetros do MySQL.
Ambas as partes seguintes do meu código funcionam bem. O primeiro usa parâmetros com@
:
const string query = "UPDATE `items` SET `name` = @name, `price` = @price WHERE `id` = @id";
try
{
using (MySqlCommand cmd = new MySqlCommand(query, Database.MyConnection))
{
cmd.Parameters.AddWithValue("name", name);
cmd.Parameters.AddWithValue("price", price);
cmd.Parameters.AddWithValue("id", id);
cmd.ExecuteNonQuery();
}
}
Segundo usa parâmetros com?
:
const string query = "UPDATE `items` SET `name` = ?name, `price` = ?price WHERE `id` = ?id";
try
{
using (MySqlCommand cmd = new MySqlCommand(query, Database.MyConnection))
{
cmd.Parameters.AddWithValue("name", name);
cmd.Parameters.AddWithValue("price", price);
cmd.Parameters.AddWithValue("id", id);
cmd.ExecuteNonQuery();
}
}
Estas respostas diga ambos@
ou?
funciona bem. Atécmd.Parameters.AddWithValue("@name", name);
parece funcionar (observe o@
no nome).
Por que todos eles funcionam bem com o MySQL?
Existe alguma diferença entre eles?
Qual é a maneira correta de usar com o MySQL?
Obrigado por qualquer ajuda que vou receber.