UNION dbExpress
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.
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
Curtidas 0
Respostas
Sremulador
16/06/2006
você poderia postar a sua sql para que possamos analisar melhor...
GOSTEI 0
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;
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