Fórum UNION dbExpress #323581
16/06/2006
0
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
Curtir tópico
+ 0
Responder
Posts
16/06/2006
Sremulador
você poderia postar a sua sql para que possamos analisar melhor...
Responder
Gostei + 0
16/06/2006
Miuuudo
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;
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)