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.

questionAnswers(3)

yourAnswerToTheQuestion