Pular para o conteúdo principal

Questão de Banco de Dados — Geral — Avança SP 2024

Banco de DadosGeral
Código
qa630803
Banca
Avança SP
Órgão
Pref Caçapava SP
Ano
2024
Cargo
Tec (Pref Caçapava (SP))
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.
  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 SqlConnection no .NET: ponte para o SQL Server

Gabarito: letra A. A classe SqlConnection do namespace System.Data.SqlClient (ou Microsoft.Data.SqlClient) é a responsável por estabelecer e gerenciar a conexão com uma instância do Microsoft SQL Server, funcionando como a ponte entre a aplicação e o banco de dados — exatamente o que descreve o enunciado.

No framework .NET, o acesso a bancos de dados é feito por meio de um conjunto de classes que seguem o modelo de provedores ADO.NET. Cada banco de dados possui seu próprio provedor, e para o SQL Server a classe central é a SqlConnection. Ela encapsula a string de conexão, abre e fecha a conexão, e é a partir dela que se criam comandos (SqlCommand) e adaptadores (SqlDataAdapter) para executar consultas e manipular dados.

A SqlConnection é instanciada tipicamente com uma connection string que especifica o servidor, o banco de dados, credenciais e outras opções. O método Open() estabelece a conexão física com o SQL Server, e Close() a encerra. Sem ela, não é possível executar nenhuma operação no banco — é o primeiro passo em qualquer acesso a dados com ADO.NET.

As demais alternativas apresentam nomes que parecem plausíveis, mas não existem no .NET: SqlAsyncConnection, DatabaseConnection e AsyncSQLConnector são invenções. Já SqlCommand é uma classe real, mas com função diferente: representa um comando SQL (como SELECT, INSERT) a ser executado sobre uma conexão já estabelecida.

A pegadinha da banca está em oferecer nomes que soam como variações de SqlConnection (com "Async" ou "Connector") e também em incluir SqlCommand, que é uma classe legítima do ADO.NET, mas que não é a responsável pela conexão. O candidato que conhece a hierarquia das classes ADO.NET identifica rapidamente a correta.

NÃO CAIA NESSA!

A banca explora a confusão entre SqlConnection e SqlCommand. Lembre-se: a conexão é o primeiro passo — sem ela, nada acontece. O SqlCommand só existe depois que a conexão está aberta, para executar instruções SQL. Guarde a sequência: SqlConnection → SqlCommand → ExecuteReader()/ExecuteNonQuery().

  1. 1SqlConnection (abre a ponte)
  2. 2SqlCommand (define o SQL)
  3. 3ExecuteReader/NonQuery (executa)
LEVEL · soulevel.com.br

Alternativa A — ✅ Correta ⟵ GABARITO

A classe SqlConnection é exatamente a que fornece funcionalidades para estabelecer e gerenciar conexões com o Microsoft SQL Server. Ela é a ponte entre a aplicação e a instância do banco, permitindo abrir, fechar e gerenciar a conexão. É o ponto de partida de qualquer operação de banco de dados no ADO.NET.

Alternativa B — ❌ Incorreta

SqlAsyncConnection não existe no .NET. A classe real é SqlConnection, e o suporte a operações assíncronas é feito por métodos como OpenAsync() e CloseAsync() da própria SqlConnection — não por uma classe separada com nome "Async".

Alternativa C — ❌ Incorreta

DatabaseConnection é um nome genérico que não corresponde a nenhuma classe do .NET. O framework usa classes específicas por provedor, como SqlConnection para SQL Server, OracleConnection para Oracle, MySqlConnection para MySQL, etc.

Alternativa D — ❌ Incorreta

AsyncSQLConnector não existe no .NET. O suporte a operações assíncronas é integrado à própria SqlConnection (via OpenAsync), e não há uma classe separada com esse nome.

Alternativa E — ❌ Incorreta

SqlCommand é uma classe real do ADO.NET, mas sua função é representar um comando SQL (como SELECT, INSERT, UPDATE) a ser executado sobre uma conexão já estabelecida. Ela não gerencia a conexão em si — depende de uma SqlConnection para funcionar. A banca incluiu essa alternativa para testar se o candidato sabe diferenciar os papéis das classes.

Gabarito: letra A

Link permanente: /questoes/qa630803