Fórum AnsiUpperCase ou UpperCase #59503
29/02/2008
0
Depois de anos programando, descobri algo trivial hoje e daí me surgiu uma dúvida.
Em consultas SQL de campos strings e digitáveis pelo usuário, eu fazia assim:
Query1.SQL.Add ´SELECT * FROM TABELA WHERE UPPER(DETERMINADO_CAMPO)=:VNOMECAMPO´
Query1.ParamByName(´VNOMECAMPO´).asString := ansiUpperCase(edit1.text)
O texto no edit é ´Serviço´. Do jeito que está acima, o filtro passado pelo [b:07ccf1c5d7]ansiUpperCase[/b:07ccf1c5d7](edit1.text) será assim: SERVI[b:07ccf1c5d7]ç[/b:07ccf1c5d7]O. Já a sql traz o dado do banco assim: ´SERVIÇO´, ou seja não vai bater.
Fiz os testes e percebi que o correto é usar o Query1.ParamByName(´VNOMECAMPO´).asString := [b:07ccf1c5d7]UpperCase[/b:07ccf1c5d7](edit1.text).
Aí funciona beleza.
Pergunto: se esse comando ansiUpperCase retorna ´JOS[b:07ccf1c5d7]é[/b:07ccf1c5d7]´, ´SERVI[b:07ccf1c5d7]ç[/b:07ccf1c5d7]O´, ´VOV[b:07ccf1c5d7]ô[/b:07ccf1c5d7]´, qual é a utilidade dele?
Obrigado.
Em consultas SQL de campos strings e digitáveis pelo usuário, eu fazia assim:
Query1.SQL.Add ´SELECT * FROM TABELA WHERE UPPER(DETERMINADO_CAMPO)=:VNOMECAMPO´
Query1.ParamByName(´VNOMECAMPO´).asString := ansiUpperCase(edit1.text)
O texto no edit é ´Serviço´. Do jeito que está acima, o filtro passado pelo [b:07ccf1c5d7]ansiUpperCase[/b:07ccf1c5d7](edit1.text) será assim: SERVI[b:07ccf1c5d7]ç[/b:07ccf1c5d7]O. Já a sql traz o dado do banco assim: ´SERVIÇO´, ou seja não vai bater.
Fiz os testes e percebi que o correto é usar o Query1.ParamByName(´VNOMECAMPO´).asString := [b:07ccf1c5d7]UpperCase[/b:07ccf1c5d7](edit1.text).
Aí funciona beleza.
Pergunto: se esse comando ansiUpperCase retorna ´JOS[b:07ccf1c5d7]é[/b:07ccf1c5d7]´, ´SERVI[b:07ccf1c5d7]ç[/b:07ccf1c5d7]O´, ´VOV[b:07ccf1c5d7]ô[/b:07ccf1c5d7]´, qual é a utilidade dele?
Obrigado.
Armindo
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)