UNION dbExpress

Delphi

16/06/2006

olá pessoal...

encontrei outro erro.
tá tudo funcionando com meu TSQLConnection TSQLDataSet TDataSetProvider TClientDataSet

mas quando eu coloco um select com UNION e com parametros dá o seguinte erro:
SQL Server Error: SQL State: 42000, SQL Error Code: 170
Line 2: Incorrect syntax near ´.´

Estou usando o delphi 7, e já instalei o update 7.1. Não adiantou. Inclusive só apareceram erros novos. Tive que reinstalar o delphi 7.

se eu substituir o UNION para UNION ALL funciona. Se eu substituir os parâmetros tb funciona.

espero ajuda.
Estou cansando desse dbexpress.


Miuuudo

Miuuudo

Curtidas 0

Respostas

Sremulador

Sremulador

16/06/2006

você poderia postar a sua sql para que possamos analisar melhor...


GOSTEI 0
Miuuudo

Miuuudo

16/06/2006

cds1.Close;
cds1.SQL.Clear;
with cds1.SQL do
begin
Clear;
Add(´ SELECT distinct ´);
Add(´ ´´Nova Versão´´ Versao ´ );
Add(´ FROM ´);
Add(´ Manutencao M, SisRotina SR, SisArquivos SA ´);
Add(´ WHERE ´);
Add(´ (M.Cod_Sistema = SR.Sistema) and (SR.CodArquivo = SA.CodArquivo) and ´);
Add(´ ((:CodSistema = ´´0´´) or (SR.Sistema = :CodSistema)) and ´);
Add(´ (M.Cod_Rotina = SR.Rotina) and (SA.CodArquivo = :CodArquivo) and (M.VersaoModulo is null) and ´);
Add(´ (M.DtFin is not null) ´);
Add(´ UNION ´);
Add(´ SELECT distinct ´);
Add(´ M.VersaoModulo Versao ´ );
Add(´ FROM ´);
Add(´ Manutencao M, SisRotina SR, SisArquivos SA ´);
Add(´ WHERE ´);
Add(´ (M.Cod_Sistema = SR.Sistema) and (SR.CodArquivo = SA.CodArquivo) and ´);
Add(´ ((:CodSistema = ´´0´´) or (SR.Sistema = :CodSistema)) and ´);
Add(´ (M.Cod_Rotina = SR.Rotina) and (SA.CodArquivo = :CodArquivo) and (M.VersaoModulo is not null) and ´);
Add(´ (M.DtFin is not null) ´);
Add(´ GROUP BY ´);
Add(´ M.VersaoModulo ´);
Add(´ ORDER BY ´);
Add(´ 1 desc ´);
end;

cds1.ParamByName(´CodSistema´).AsString := ´50´;
cds1.ParamByName(´CodArquivo´).AsString := ´30´;
cds1.Open;


GOSTEI 0
POSTAR