Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

leonardoFelipe

Consulta SqlDataAdapter com Parâmetros

Recommended Posts

Boa tarde pessoal.

Estou tendo dificuldades no retorno de uma consulta no banco de dados utilizando SqlDataAdapter com parâmetros.

Bem, eu tenho uma aplicação em camadas, na minha View quando acesso pela primeira vez alimento uma GridView com uma consulta (esta parte tá ok)!

Nesta mesma View tem um campo para pesquisar e filtrar nesta mesma GridView, atualizando-a com esta filtragem, e que usa o mesmo método. Aí que dá o erro, utilizei alguns exemplos que achei na net mas não tá dando certo.

Quando entra na linha dentro o if que tem o código a seguir, entra no catch:
adapter.SelectCommand.Parameters.Add(new SqlParameter("@nome", pessoa.Nome));

O erro informado no catch é o seguinte:
{System.NullReferenceException: Referência de objeto não definida para uma instância de um objeto.

Como eu poderia adicionar este parâmetro da forma correta?

Segue o código:

public DataTable listarPessoas(PessoaModel pessoa = null)
        {
            try
            {
                conectar();

                queryString = "SELECT * FROM [crud].[dbo].[Pessoas]";

                if (pessoa.Nome != null)
                    queryString += " WHERE pess_nome LIKE '%@nome%'";

                SqlCommand sqlCmd = new SqlCommand(queryString, conn);
                DataSet ds = new DataSet();
                SqlDataAdapter adapter = new SqlDataAdapter();

                if (pessoa.Nome != null)
                    adapter.SelectCommand.Parameters.Add(new SqlParameter("@nome", pessoa.Nome));

                conn.Open();
                adapter.SelectCommand = sqlCmd;
                adapter.Fill(ds);
                DataTable dt = ds.Tables[0];

                return dt;
            }
            catch (Exception erro)
            {
                throw erro;
            }
            finally
            {
                conn.Close();
            }
        }

Compartilhar este post


Link para o post
Compartilhar em outros sites

Este fórum é apenas para ASP Classic, por favor poste no fórum de .Net. E verifique se o evento RowDataBound é executado para todas as linhas do grid, inclusive para a linha de cabeçalho da grid, veja se esta tentando acessar a Label que você gostaria

Compartilhar este post


Link para o post
Compartilhar em outros sites

Este fórum é apenas para ASP Classic, por favor poste no fórum de .Net. E verifique se o evento RowDataBound é executado para todas as linhas do grid, inclusive para a linha de cabeçalho da grid, veja se esta tentando acessar a Label que você gostaria

 

Obrigado e desculpe, farei isso!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.