Qual é a melhor abordagem para abrir / fechar SqlConnection em C #

Gostaria de saber qual seria a melhor abordagem para abrir umSqlConnection comSql Server 2008R2 Express Edition Base de dados. Esta versão do SQL possui limitações de uso de RAM e uso de CPU, portanto, devemos adotar algo melhor para abrir umSqlConnection.

Agora eu estou verificando a conexão no início e no final de cada método. Aqui está um exemplo disso.

   private void CheckValidId(string Id)
    {
        CheckConnectionStatus();

        try
        {
            sqlConnection.Open();
            sqlCommand = new SqlCommand("select * from ValidId where id=@id", sqlConnection);
            sqlCommand.Parameters.AddWithValue("@id", Id);
            sqlDataReader = sqlCommand.ExecuteReader();
            While (sqlDataReader.Read())
            {
               string Test = sqlDataReader["Id"].toString();
               MessageBox.Show("Value of Id : " , Test);
            }
        }
        catch (Exception exp)
        {
            MessageBox.Show(exp.Message.ToString(), "Exception in CheckValidId");
        }
        finally
        {
            CheckConnectionStatus();
        }
    }

Aqui estáCheckConnectionStatus Método

    private void CheckConnectionStatus()
    {
        if (sqlConnection.State == ConnectionState.Open)
        {
            sqlConnection.Close();
        }
    }

Qual é a melhor abordagem para executar esta operação.

obrigado

questionAnswers(3)

yourAnswerToTheQuestion