Fórum Erro de Sql no Delphi #333895

29/11/2006

0

with qryauditoria, sql do
begin
close;
clear;
add(´select´);
add(´ idmvusuario,´);
add(´ data,´);
add(´ trim(trim(Erro1) ||´´ ´´|| trim(Erro2) ||´´ ´´|| trim(Erro3) ||´´ ´´|| trim(Erro4) ||´´ ´´|| trim(Erro5) ||´´ ´´|| trim(Erro6) ||´´ ´´|| trim(Erro7)) ocorrencia,´);
add(´ graudepend, tpmovimentacao´);
add(´from´);
add(´ (´);
add(´ select´);
add(´ m.idmvusuario,´);
add(´ m.data,´);
add(´ case when nvl(m.idcooperativas, 0) = 0 then ´´Campo IdCooperativas igual a Zero ou Nulo;´´ else ´´ end Erro1,´);
add(´ case when nvl(m.idcooperativas, 0) <> 8 then ´´Campo IdCooperativas <> de 8;´´ else ´´ end Erro2,´);
add(´ case when nvl(m.idempresas, 0) = 0 then ´´Campo IdEmpresas igual a Zero ou Nulo;´´ else ´´ end Erro3,´);
add(´ case when nvl(m.idcidade, 0) = 0 then ´´Campo IdCidade igual a Zero ou Nulo;´´ else ´´ end Erro4,´);
add(´ case when nvl(m.idusuario, 0) = 0 then ´´Campo IdUsuario igual a Zero ou Nulo;´´ else ´´ end Erro5,´);
add(´ case when m.graudepend is null then ´´Campo Graudepend igual a Nulo;´´ else ´´ end Erro6,´);
add(´ case when u.idusuario is null then ´´Usuario nao cadastrado;´´ else ´´ end Erro7,´);
add(´ m.idcooperativas,´);
add(´ m.idempresas,´);
add(´ m.idcidade,´);
add(´ m.idusuario,´);
add(´ m.tpmovimentacao,´);
add(´ m.graudepend´);
add(´ from´);
add(´ usuario u,´);
add(´ mvusuario m´);
add(´ where´);
add(´ m.data >= to_date(´´´ + edtinicial.text + ´´´, ´´dd/mm/yyyy´´) and´);
add(´ m.data <= to_date(´´´ + edtfinal.text + ´´´, ´´dd/mm/yyyy´´) and´);
add(´ u.idusuario(+) = m.idusuario and´);
add(´ (´);
add(´ nvl(m.idcooperativas, 0) = 0 or´);
add(´ nvl(m.idcooperativas, 0) <> 8 or´);
add(´ nvl(m.idempresas, 0) = 0 or´);
add(´ nvl(m.idcidade, 0) = 0 or´);
add(´ nvl(m.idusuario, 0) = 0 or´);
add(´ m.graudepend is null or´);
add(´ u.idusuario is null´);
add(´ )´);
add(´ )´);
add(´where´);
add(´ trim(Erro1) <> ´´ ´´ or´);
add(´ trim(Erro2) <> ´´ ´´ or´);
add(´ trim(Erro3) <> ´´ ´´ or´);
add(´ trim(Erro4) <> ´´ ´´ or´);
add(´ trim(Erro5) <> ´´ ´´ or´);
add(´ trim(Erro6) <> ´´ ´´ or´);
add(´ trim(Erro7) <> ´´ ´´´);
add(´order by´);
add(´ data,´);
add(´ idmvusuario´);
open;
end;


Esta dando o seguinte erro?
String entre aspas nao finalizada adequadamente


Alguem pode me ajudar???


Evandro


Evandro_araujo

Evandro_araujo

Responder

Posts

30/11/2006

Emerson Nascimento

tente ao máximo usar parâmetros, ao invés de concatenação de strings. com parâmetros você não precisa se preocupar com formatações e coisas assim.

with qryauditoria, sql do
begin
  close;
  text :=
    ´select ´+
    ´  idmvusuario, data, ´+
    ´  trim(trim(Erro1) || ´´ ´´ || trim(Erro2) || ´´ ´´ || trim(Erro3) || ´+
    ´  ´´ ´´ || trim(Erro4) ||´´ ´´|| trim(Erro5) ||´´ ´´|| trim(Erro6) || ´+
    ´  ´´ ´´ || trim(Erro7)) ocorrencia, ´+
    ´  graudepend, tpmovimentacao ´+
    ´from ´+
    ´  (select ´+
    ´     m.idmvusuario, m.data, ´+
    ´     case when nvl(m.idcooperativas, 0) = 0 ´+
    ´          then ´´Campo IdCooperativas igual a Zero ou Nulo;´´ ´+
    ´          else ´´´´ end Erro1, ´+ // aqui no else estava errado
    ´     case when nvl(m.idcooperativas, 0) <> 8 ´+
    ´          then ´´Campo IdCooperativas <> de 8;´´ ´+
    ´          else ´´´´ end Erro2, ´+ // aqui no else estava errado
    ´     case when nvl(m.idempresas, 0) = 0 ´+
    ´          then ´´Campo IdEmpresas igual a Zero ou Nulo;´´ ´+
    ´          else ´´´´ end Erro3, ´+ // aqui no else estava errado
    ´     case when nvl(m.idcidade, 0) = 0 ´+
    ´          then ´´Campo IdCidade igual a Zero ou Nulo;´´ ´+
    ´          else ´´´´ end Erro4, ´+ // aqui no else estava errado
    ´     case when nvl(m.idusuario, 0) = 0 ´+
    ´          then ´´Campo IdUsuario igual a Zero ou Nulo;´´ ´+
    ´          else ´´´´ end Erro5, ´+ // aqui no else estava errado
    ´     case when m.graudepend is null ´+
    ´          then ´´Campo Graudepend igual a Nulo;´´ ´+
    ´          else ´´´´ end Erro6, ´+ // aqui no else estava errado
    ´     case when u.idusuario is null ´+
    ´          then ´´Usuario nao cadastrado;´´ ´+
    ´          else ´´´´ end Erro7, ´+ // aqui no else estava errado
    ´     m.idcooperativas, m.idempresas, ´+
    ´     m.idcidade, m.idusuario, ´+
    ´     m.tpmovimentacao, m.graudepend ´+
    ´   from ´+
    ´     usuario u, ´+
    ´     mvusuario m ´+
    ´   where ´+
    ´     (m.data between :dataini and :datafim) and ´+
    ´     u.idusuario(+) = m.idusuario and ´+
    ´     (´+
    ´      nvl(m.idcooperativas, 0) = 0 or ´+
    ´      nvl(m.idcooperativas, 0) <> 8 or ´+
    ´      nvl(m.idempresas, 0) = 0 or ´+
    ´      nvl(m.idcidade, 0) = 0 or ´+
    ´      nvl(m.idusuario, 0) = 0 or ´+
    ´      m.graudepend is null or ´+
    ´      u.idusuario is null ´+
    ´     ) ´+
    ´  ) ´+
    ´where ´+
    ´  trim(Erro1) <> ´´ ´´ or ´+
    ´  trim(Erro2) <> ´´ ´´ or ´+
    ´  trim(Erro3) <> ´´ ´´ or ´+
    ´  trim(Erro4) <> ´´ ´´ or ´+
    ´  trim(Erro5) <> ´´ ´´ or ´+
    ´  trim(Erro6) <> ´´ ´´ or ´+
    ´  trim(Erro7) <> ´´ ´´ ´+
    ´order by ´+
    ´  data, idmvusuario ´;
  parambyname(´dataini´).asdate := strtodate(edtinicial.text);
  parambyname(´datafim´).asdate := strtodate(edtfinal.text);
  open;
end;



Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar