1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Preencher Uma Lista com valores retornados do Select do banco de dados ? ADO.NET Iniciante

Olá Pessoal estou fazendo um execício para criar um crud no c# , estou criando um método para retornar uma lista , para depois preencher um listview com todos os dados retornados do select , meu chefe estava me ajudando porem não consegui compreender esta linha de código abaixo

 dataAdapter = new FbDataAdapter(command);
                DataTable objDataTable = new DataTable();
                dataAdapter.Fill(objDataTable);

Minha outra dúvida seria na parte da criação de uma lista para armazenar os resultados do select , mas nao consigo fazer isto por que não compreendi as linhas que destaquei acima .

Este aqui e o método que criei ele recebe cnpj e cpf para pesquisa se nulo ele irá exibir todos items cadastrados.

 public static List<Entidades.Pessoa> Listar(string nome, string cpfcnpj)
        {
             try
              {
                //Variavel local
                FbCommand command;
                FbDataAdapter dataAdapter;

                //Abre Conexão
                OpenConnection();

                #region Where
                StringBuilder strWhere = new StringBuilder();


                if (cpfcnpj != null || nome != null)
                {
                    //Where
                    strWhere.Append("WHERE");

                    //cpfcnpj
                    if (cpfcnpj != null)
                    {
                        //Verifica se já existe alguma condição
                        if (strWhere.Length == 5)
                            strWhere.Append(" CNPJCPF LIKE '%");
                        //Adiciona condiçãp
                        strWhere.Append(cpfcnpj.Trim());
                        strWhere.Append("%'");
                    }

                    //Descrição
                    if (nome != null)
                    {
                        //Verifica se já existe alguma condição
                        if (strWhere.Length > 5)
                            strWhere.Append(" AND ");

                        //Adiciona condição
                        strWhere.Append(" UPPER (NOME) LIKE '%");
                        strWhere.Append(nome.Trim().ToUpper());
                        strWhere.Append("%'");
                    }
                }

                #endregion Where

                //Consulta
                command = new FbCommand(string.Format(@"SELECT " +
                "P.CNPJCPF," +
                "P.NOME," +
                "E.BAIRRO," +
                "E.CEP," +
                "E.CIDADE," +
                "E.COMPLEMENTO," +
                "E.LOGRADOURO," +
                "E.NUMERO," +
                "E.UF," +
                "C.TELEFONE  " +
                "FROM  PESSOA   P " +
                "LEFT OUTER JOIN ENDERECO E ON (P.ID_PESSOA = E.ID_PESSOA)" +
                "LEFT OUTER JOIN CONTATO  C ON (P.ID_PESSOA = C.ID_PESSOA)" +
                "{0}" +
                "ORDER BY 2;", strWhere.ToString()),Connection);

                dataAdapter = new FbDataAdapter(command);
                DataTable objDataTable = new DataTable();
                dataAdapter.Fill(objDataTable);


                return null; //Teste
            }
            catch (Exception ex)
            {
                //Trata exceção
                throw ex;
            }
            finally
            {
                CloseConnection();
            }
        }

Caso o nome e cpfcnpj do formulário forem preenchidos fica desta forma : Exemplo utilizando o FlameRobin :

https://www.filepicker.io/api/file/nXwzzuQqQfSIg0AtAeOl

private void frmpesquisa_Load(object sender, EventArgs e)
        {
              Negocio.Pessoa.Listar("Matheus Santos Costa","12387804589");
        }

Resultado :

Testando com valores vazios

 Negocio.Pessoa.Listar(null,null);

Resultado : https://www.filepicker.io/api/file/VLkFUBJFRleRAgOowTMQ

  • Não sei nada de C#, mas pelo que parece, esse DataAdapter é justamente o objeto que irá receber sua lista, é o que parece. Verifique se ele tem algum método que recebe uma lista, ou Collection ou Array.

    rof20004   31 de mar de 2015
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

2 respostas

Não é a resposta que estava procurando? Procure outras perguntas com as tags c# .net sql banco-de-dados ou faça a sua própria pergunta.