Erro “Nome de coluna 'XXX' inválido.” no objeto Consulta

Estou tentando utilizar uma Consulta que criei no sistema LATROMI, mas está ocorrendo o erro Nome de coluna ‘XXX’ inválido…

Estou usando o banco Northwind do SQL Server para testar.

Percebi que o erro começou a ocorrer logo após eu criar um parâmetro para filtrar a coluna ShipCountry .

No Cadastro da Consulta, no LATROMI Client, o comando SQL está assim:

SELECT * FROM Orders
WHERE ShipCountry = {?PARAM ShipCountry}
ORDER BY OrderDate

Quando executo a Consulta pelo LATROMI Web, o valor que eu informo no Filtro aparece na mensagem de erro. Por exemplo, se eu informo USA o erro fica Nome de coluna ‘USA’ inválido. .

Estou adicionando print das configurações do Parâmetro ShipCountry e da tela onde está aparecendo o erro.

image

image

Este é um erro que ocorre com frequência para quem não está acostumado com o LATROMI.

Os apóstrofos não são adicionados automaticamente na substituição dos parâmetros do Comando SQL, que ocorre antes do mesmo ser executado no Banco de Dados.

Neste caso, o Comando SQL está sendo enviado ao banco de dados dessa forma:

SELECT * FROM Orders
WHERE ShipCountry = USA 
ORDER BY OrderDate

Note que se executar este comando no SQL Management Studio, vai ocorrer o mesmo erro.

Para corrigir, basta adiciona os apóstrofos no próprio Comando SQL, antes e depois do parâmetro:

SELECT * FROM Orders
WHERE ShipCountry = '{?PARAM ShipCountry}' 
ORDER BY OrderDate

Parâmetro com Valor Nulo

Se por a caso o valor do parâmetro for null, o sistema se encarrega de remover os apóstrofos desnecessários.

1 curtida