Вопрос о соединении SQL и оператор в C # - PullRequest
0 голосов
/ 15 октября 2019

У меня в настоящее время есть такие операторы SQL в моей программе на C #.

        SqlConnection connection = DataBase.GetConnection();
        string deleteStatement = "DELETE FROM People WHERE ID = @ID";
        SqlCommand deleteCommand = new SqlCommand(deleteStatement, connection);
        deleteCommand.Parameters.AddWithValue("@ID", Id);

        try
        {
            connection.Open();
            deleteCommand.ExecuteNonQuery();
        }
        catch (SqlException ex)
        {

            throw ex;
        }
        finally
        {
            connection.Close();
        }

Но Visual Studio 2019 предлагает вместо этого использовать оператор использования. Есть ли польза от использования эфира или?

Ответы [ 2 ]

3 голосов
/ 15 октября 2019

В дополнение к принятому ответу:

Вы также можете / должны распоряжаться SqlCommand, и using справится с этим.

using (var connection = DataBase.GetConnection())
using (var command = connection.CreateCommand())
{
    command.CommandText = "DELETE FROM People WHERE ID = @ID";
    var parameter = new SqlParameter
    {
        ParameterName = "@ID",
        SqlDbType = SqlDbType.Int,
        Value = Id
    };

    command.Parameters.Add(parameter);

    connection.Open();
    command.ExecuteNonQuery();
}
1 голос
/ 15 октября 2019

using автоматически удалит соединения (которое также закрывает соединение).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...