Pular para o conteúdo principal

Questão de Programação — Frameworks em Programação — Avança SP 2024

ProgramaçãoFrameworks em Programação
Código
qg085779
Banca
Avança SP
Órgão
Prefeitura de Caçapava - SP
Ano
2024
Nível
Médio
Cargo
Técnico em Informática
A classe ____ no framework .NET fornece funcionalidades para estabelecer e gerenciar conexões com bancos de dados Microsoft SQL Server. Ela funciona essencialmente como uma ponte entre a sua aplicação e a instância do SQL Server.SqlConnection
  1. ASqlConnection
  2. BSqlAsyncConnection
  3. CDatabaseConnection
  4. DAsyncSQLConnector
  5. ESqlCommand
Revelar gabarito e comentário

GabaritoA — SqlConnection

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Classe de conexão com SQL Server no .NET

Gabarito: letra A. A classe SqlConnection é a classe do namespace System.Data.SqlClient (e Microsoft.Data.SqlClient) do framework .NET responsável por estabelecer e gerenciar conexões com bancos de dados Microsoft SQL Server, funcionando como a ponte entre a aplicação e a instância do banco. As demais alternativas não correspondem a classes reais do .NET ou exercem outra função, como SqlCommand, que executa comandos SQL sobre uma conexão já estabelecida.

A classe SqlConnection representa uma conexão única com um servidor SQL Server. Ela encapsula a lógica de abertura, fechamento e gerenciamento da conexão física com o banco, além de integrar-se ao connection pooling (pool de conexões), que reutiliza conexões abertas para melhorar a performance. No .NET, o uso típico envolve criar uma instância, definir a connection string (string de conexão) com os parâmetros necessários (servidor, banco, credenciais, etc.) e chamar o método Open() para estabelecer a conexão, e Close() ou Dispose() para liberá-la.

A classe SqlConnection é a base para outras operações: a partir dela, cria-se um SqlCommand para executar consultas ou comandos, e um SqlDataAdapter para preencher um DataSet. Ela também oferece suporte a transações, permitindo iniciar uma transação com o método BeginTransaction(). No Entity Framework Core, o DbContext gerencia a conexão internamente, mas a classe subjacente continua sendo a SqlConnection quando o provedor é o SQL Server.

É importante distinguir SqlConnection de SqlCommand: enquanto a primeira gerencia a conexão, a segunda executa comandos SQL (SELECT, INSERT, UPDATE, DELETE) sobre essa conexão. A banca explora exatamente essa confusão, oferecendo SqlCommand como distrator. As demais alternativas (SqlAsyncConnection, DatabaseConnection, AsyncSQLConnector) não existem na API do .NET — são nomes inventados para confundir o candidato que não conhece a nomenclatura real.

Guarde a fronteira: conexão (quem estabelece o vínculo com o banco) versus comando (quem executa a instrução SQL). É nessa distinção que as alternativas se dividem.

1SqlConnection
Estabelece e gerencia a conexão
Ponte entre app e SQL Server
Base para comandos e transações
2SqlCommand
Executa comandos SQL
Depende da conexão
3SqlDataReader
Leitura de dados
4SqlDataAdapter
Preenche DataSet
5SqlTransaction
Gerencia transações
Classes .NET (System.Data.SqlClient)
LEVELsoulevel.com.br
Classes .NET (System.Data.SqlClient): SqlConnection (Estabelece e gerencia a conexão, Ponte entre app e SQL Server, Base para comandos e transações); SqlCommand (Executa comandos SQL, Depende da conexão); SqlDataReader (Leitura de dados); SqlDataAdapter (Preenche DataSet); SqlTransaction (Gerencia transações)

Alternativa A — ✅ Correta ⟵ GABARITO

A classe SqlConnection é exatamente a classe do .NET que fornece funcionalidades para estabelecer e gerenciar conexões com bancos de dados Microsoft SQL Server. Ela atua como a ponte entre a aplicação e a instância do SQL Server, permitindo abrir, fechar e gerenciar a conexão, além de servir de base para a execução de comandos e transações.

Alternativa B — ❌ Incorreta

SqlAsyncConnection não é uma classe existente no .NET. Embora existam métodos assíncronos como OpenAsync() e CloseAsync() na própria SqlConnection, não há uma classe separada com esse nome. A banca cria um nome plausível para confundir quem sabe que o .NET suporta operações assíncronas, mas a classe real é única: SqlConnection.

Alternativa C — ❌ Incorreta

DatabaseConnection é um nome genérico que não corresponde a nenhuma classe específica do .NET. O framework não possui uma classe com esse nome; a classe concreta para SQL Server é SqlConnection. A banca usa um termo comum de banco de dados para induzir ao erro.

Alternativa D — ❌ Incorreta

AsyncSQLConnector também não existe no .NET. O sufixo "Connector" lembra outras tecnologias (como conectores JDBC), mas no .NET a nomenclatura segue o padrão SqlConnection. Não há classe com esse nome na API.

Alternativa E — ❌ Incorreta

SqlCommand é uma classe real do .NET, mas sua função é executar comandos SQL (como SELECT, INSERT, UPDATE, DELETE) sobre uma conexão já estabelecida. Ela não estabelece nem gerencia a conexão — depende de uma SqlConnection para funcionar. A banca troca a função de conexão pela de comando, uma pegadinha clássica.

NÃO CAIA NESSA!

A banca troca a classe que estabelece a conexão (SqlConnection) pela classe que executa comandos (SqlCommand). São funções complementares, mas distintas: primeiro você abre a conexão, depois executa o comando. Guarde: SqlConnection = ponte; SqlCommand = ação sobre a ponte.

PEGA ESSA DICA!

Para questões de nomenclatura do .NET, memorize as classes principais do namespace System.Data.SqlClient: SqlConnection (conexão), SqlCommand (comando), SqlDataReader (leitura), SqlDataAdapter (preenchimento de DataSet), SqlTransaction (transação). Se a alternativa traz um nome que você nunca viu na documentação, desconfie — provavelmente é inventado.

Gabarito: letra A

Link permanente: /questoes/qg085779