Ir para conteúdo

Arquivado

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

rafaelgobo

Erro na gridview

Recommended Posts

Bom dia,

 

Estou tentando resolver um gridview na minha aplicação para consultar produtos.

Porem ele faz o select tudo certo, só que no fill ele traz nulo.

Já tentei de tudo, bastante gente ja tentou resolver, mais ngm conseguiu.

 

 

 

public DataTable Pesquisar(ProdutoEntity PesquisarProduto)
{
SqlCommand cmm = new SqlCommand();
string strsql;
strsql = @" SELECT DESCRICAO,
PRECO,
DATAVENCIMENTO,
ESTOQUE
FROM PRODUTO";
if (PesquisarProduto.Descricao.Trim() != "")
{
if (!strsql.Contains("WHERE"))
strsql += " WHERE DESCRICAO LIKE @DESCRICAO";
else
strsql += " AND DESCRICAO LIKE @DESCRICAO";
cmm.Parameters.Add("@DESCRICAO", SqlDbType.VarChar).Value = "%" + PesquisarProduto.Descricao + "%";
}
if (PesquisarProduto.Preco > 0)
{
if (!strsql.Contains("WHERE"))
strsql += " WHERE PRECO LIKE @PRECO";
else
strsql += " AND PRECO LIKE @PRECO";
cmm.Parameters.Add("@PRECO", SqlDbType.Decimal).Value = PesquisarProduto.Preco;
}
if (PesquisarProduto.DataVencimento != null)
{
if (!strsql.Contains("WHERE"))
strsql += " WHERE DATAVENCIMENTO LIKE @DATAVENCIMENTO";
else
strsql += " AND DATAVENCIMENTO LIKE @DATAVENCIMENTO";
cmm.Parameters.Add("@DATAVENCIMENTO", SqlDbType.Date).Value = PesquisarProduto.DataVencimento;
}
if (PesquisarProduto.Estoque > 0)
{
if (!strsql.Contains("WHERE"))
strsql += " WHERE ESTOQUE LIKE @ESTOQUE";
else
strsql += " AND ESTOQUE LIKE @ESTOQUE";
cmm.Parameters.Add("@ESTOQUE", SqlDbType.BigInt).Value = PesquisarProduto.Estoque;
}
DataTable dt = new DataTable();
cmm.CommandText = strsql;
cmm.Connection = Conexao.con;
SqlDataAdapter da = new SqlDataAdapter(cmm);
Conexao.con.Open();
da.Fill(dt);
Conexao.con.Close();
return dt;

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você já colocou breakpoints para ver o que ele está fazendo na sua consulta? Provavelmente isso acontece porque algum dos ifs que você colocou esta mudando a query e esta fazendo ela ficar errada.

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.