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
- cmd.SetParameter(txtNome.Text, "@nome");
- cmd.Parameters.Add(new SqlParameter("@nome", txtNome.Text));
- cmd.BindParam.Add(txtNome.Text, "@nome");
- cmd.Parameters.Append(new Parameter(txtNome.Text,"@nome"));
- 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