Como recuperar dados de uma base de dados do SQL Server em C#?
Eu tenho uma tabela de banco de dados com 3 colunas "primeiro nome", "último nome" e "idade". Na minha aplicação C# Windows tenho 3 caixas de texto chamadas textbox1
... Eu fiz minha conectividade com o meu SQL Server usando este código:
SqlConnection con = new SqlConnection("Data Source = .;
Initial Catalog = domain;
Integrated Security = True");
con.Open();
SqlCommand cmd = new SqlCommand("Select * from tablename", con);
I'gostaria de obter valores da minha base de dados; se eu der um valor na textbox1
tem que corresponder aos valores da base de dados e recuperar outros detalhes para as caixas de texto correspondentes.
Eu tentei este método mas ele's não está funcionando:
cmd.CommandText = "select * from tablename where firstname = '" + textBox1.Text + "' ";
Como posso fazer para recuperar todos os outros valores para as caixas de texto?
33
3
Poucas coisas para anotar aqui: Eu usei uma consulta parametrizada, o que torna o seu código mais seguro. A maneira como você está fazendo a instrução select com o
"onde x = "+ Textbox.Text +""
part abre você para a injeção SQL.I'mudei isto para:
Então o que este bloco de código vai fazer é:
Execute uma instrução SQL contra a sua base de dados, para ver se existe algum nome próprio que corresponda ao que você forneceu. Se esse for o caso, essa pessoa será armazenada em um objeto Person (veja abaixo na minha resposta para a classe). Se não houver correspondência, as propriedades do objeto Person serão `nulo'.
Obviamente eu não sei exatamente o que você está tentando fazer, então há algumas coisas para prestar atenção..: Quando houver mais de 1 pessoa com um nome correspondente, apenas a última será salva e devolvida a você. Se você quiser ser capaz de armazenar esses dados, você pode adicioná-los a uma
List
.Classe de pessoas para torná-lo mais limpo:
Agora para chamar o método:
Você pode então preencher as suas caixas de texto com valores provenientes do objeto Pessoa assim:
criar uma classe chamada DbManager:
depois clique duas vezes no botão recuperar (por exemplo, btnretrieve) no seu formulário e insira o seguinte código:
Para recuperar dados da base de dados: