Error in WHERE clause near 'COLABORADOR'. Unable to parse query text.

2 respostas
csharp
H

Olá, estou desenvolvendo alguns relatórios com ReportViewer no Visual Studio 2019 Community e Firebird 2.5(ODBC), criei um DataSet para gerar os relatórios, dentro de cada tabela crio uma query com comandos SQLs para filtrar. Em uma situação estou tendo dificuldades de entender como fazer um select para procurar por parte do nome na query, todos os selects que fiz deram certo no IbExpert mas na query sempre da um erro, vou mostrar abaixo as minhas tentativas e espero que alguém possa me ajudar.

SELECT COLABORADOR.ID, COLABORADOR.NOME, COLABORADOR.TELEFONE, COLABORADOR.CELULAR, SETOR.NOME AS SETOR
FROM COLABORADOR, SETOR
WHERE COLABORADOR.IDSETOR = SETOR.ID AND (COLABORADOR.NOME STARTING WITH ‘?’)

SELECT COLABORADOR.ID, COLABORADOR.NOME, COLABORADOR.TELEFONE, COLABORADOR.CELULAR, SETOR.NOME AS SETOR
FROM COLABORADOR, SETOR
WHERE COLABORADOR.IDSETOR = SETOR.ID AND (COLABORADOR.NOME LIKE ‘%’ + ? + ‘%’)

SELECT COLABORADOR.ID, COLABORADOR.NOME, COLABORADOR.TELEFONE, COLABORADOR.CELULAR, SETOR.NOME AS SETOR
FROM COLABORADOR, SETOR
WHERE COLABORADOR.IDSETOR = SETOR.ID AND (COLABORADOR.NOME LIKE ‘%’ || ? || ‘%’)

OBS. A PROPRIA QUERY TRANSFORMA O INNER JOIN NESSE FORMATO DE SELECT ACIMA.

2 Respostas

TerraSkilll

Os comandos parecem corretos. Você consegue executá-las normalmente direto no banco? Se remover as cláusulas where, a consulta executa? Ou mesmo deixando uma verificação “vazia”, como “WHERE 1=1” ?

Abraço.

H

Olá, no banco consigo executar normalmente, faz a busca conforme digito o value. Sim tirando o where é executado normalmente no banco e na query. Tbm coloquei na query e no banco o exemplo select … From … Where … (Colaborador.nome like ‘%L%’) e encontrou todos os nome com a letra L.

Criado 9 de novembro de 2019
Ultima resposta 11 de nov. de 2019
Respostas 2
Participantes 2