FC ConcursosFC Concursos

Questão FC372947

Considere conn um objeto que contém uma conexão com um banco de dados SQL Server e que essa conexão está aberta e em condições ideais. Considere, ainda, que sql é uma variável do t

Sistema de Gerenciamento de Banco de Dados (SGBD)

FCC · 2019

Considere conn um objeto que contém uma conexão com um banco de dados SQL Server e que essa conexão está aberta e em condições ideais. Considere, ainda, que sql é uma variável do tipo string que contém a instrução INSERT abaixo.

 

sql = "INSERT INTO cliente(nome,cpf) VALUES(@nome,@cpf)";

 

Após o comando SqlCommand cmd = new SqlCommand(sql, conn);, que cria um objeto do tipo SqlCommand com a instrução SQL e a conexão, para incluir o conteúdo do campo txtNome do formulário como parâmetro @nome na instrução INSERT utiliza-se o comando

  1. cmd.SetParameter(txtNome.Text, "@nome");
  2. cmd.Parameters.Add(new SqlParameter("@nome", txtNome.Text));
  3. cmd.BindParam.Add(txtNome.Text, "@nome");
  4. cmd.Parameters.Append(new Parameter(txtNome.Text,"@nome"));
  5. cmd.BindParam(new BindParam(txtNome.Text, "@nome"));
Mostrar resposta e comentário

Gabarito

B

Comentário do professor

Após criar o objeto SqlCommand com a string SQL que contém o parâmetro @nome, é preciso fornecer o valor desse parâmetro ao comando antes de executá‑lo.

A instrução correta usa cmd.Parameters.Add para anexar um objeto SqlParameter ao comando: new SqlParameter("@nome", txtNome.Text).

O construtor de SqlParameter recebe, primariamente, o nome do parâmetro (a chave que aparece na query) e o valor a ser atribuído. Assim, "@nome" indica qual placeholder será preenchido e txtNome.Text fornece o conteúdo do campo do formulário.

Ao adicionar esse parâmetro com cmd.Parameters.Add, o comando passa a ter o valor necessário para executar o INSERT sem concatenar strings diretamente na query.

Esse procedimento também facilita o tratamento de tipos e auxilia na prevenção de injeção de SQL, pois separa instrução e dados.

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo