Select Firebird Duvida
27/03/2017
0
Boa Noite pessoal, preciso fazer esse select com uma procedure..
where (est.status = 'A') and
(est.id_Estoque =:valor or
ident.id_Identificador = :valor or
est.Descricao like :valor or
estProd.cod_Barra like :valor or
estProd.Referencia like :valor or
estProd.Desc_cmpl like :valor)
campo idEstoque e IdIdentificador são integer, então quando insiro um valor na variável integer para pesquisar perfeito, mas quando insiro uma string com intuito de pesquisar na descrição ele me retorna o erro, pois não consegue comparar a string com o campo idEstoque ou IdIdentificador..
Desde já muito Obrigado.
where (est.status = 'A') and
(est.id_Estoque =:valor or
ident.id_Identificador = :valor or
est.Descricao like :valor or
estProd.cod_Barra like :valor or
estProd.Referencia like :valor or
estProd.Desc_cmpl like :valor)
campo idEstoque e IdIdentificador são integer, então quando insiro um valor na variável integer para pesquisar perfeito, mas quando insiro uma string com intuito de pesquisar na descrição ele me retorna o erro, pois não consegue comparar a string com o campo idEstoque ou IdIdentificador..
Desde já muito Obrigado.
Antonelly Silva
Curtir tópico
+ 0
Responder
Posts
28/03/2017
Luiz Santos
Antonelly.
O que você está tentando fazer não vai funcionar.
O que você precisa fazer é um controle na hora de montar sua string SQL.
Ficaria mais ou menos assim:
Só acho que não da para usar a mesma variável tanto para um dado int quanto um dado char
Grande abraço
O que você está tentando fazer não vai funcionar.
O que você precisa fazer é um controle na hora de montar sua string SQL.
Ficaria mais ou menos assim:
strSQL = "SELECT * FROM TABELA"; if valor = int then strSQL = strSQL + "WHERE est.id_Estoque =:valor"; else strSQL = strSQL + "WHERE est.Descricao like :valor"; End If
Só acho que não da para usar a mesma variável tanto para um dado int quanto um dado char
Grande abraço
Responder
Clique aqui para fazer login e interagir na Comunidade :)