Parametry C # MySQL:? lub @
Jestem trochę zmieszany z parametrami MySQL.
Obie następujące części mojego kodu działają poprawnie. Pierwszy używa parametrów z@
:
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();
}
}
Drugi używa parametrów z?
:
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();
}
}
Te odpowiedzi powiedz oba@
lub?
dobrze pracować. Parzystycmd.Parameters.AddWithValue("@name", name);
wydaje się działać (zauważ@
w imieniu).
Dlaczego wszystkie z nich działają poprawnie z MySQL?
Czy jest między nimi różnica?
Który z nich jest właściwym sposobem korzystania z MySQL?
Dzięki za jakąkolwiek pomoc.