Consulta Update para retirar acentos
primeiramente gostaria de saber se é realmente aconselhável não utilizar acentos na hora de cadastrar.
tenho uma base de dados das cidades e bairros e são acentuadas. como faço uma consulta update para retirar estes acentos?
tenho uma base de dados das cidades e bairros e são acentuadas. como faço uma consulta update para retirar estes acentos?
Raserafim
Curtidas 0
Respostas
Thomaz_prg
24/01/2006
É mais simples você fazer uma rotina no Delphi para avaliar isso. Eu permito que o usuário coloque acentos normalmente, porém, na hora da pesquisa, substituo os caracteres com acentos por _ (underline). Isso faz com que, no lugar desses caracteres, sejam aceitos quaisquer outros caracteres.
GOSTEI 0
Raserafim
24/01/2006
thomaz, gostei da idéia.
vc pode postar a rotina q vc usa?
vc pode postar a rotina q vc usa?
GOSTEI 0
Thomaz_prg
24/01/2006
Uso uma query normal para pesquisa, mas antes de passar o parâmetro para pesquisa, uso uma função para tratamento:
[b:e983207c7d]Função TrataPesq[/b:e983207c7d]
Se por exemplo digitássemos o valor ´José´ para busca, a função TrataPesq, traria para o SQL o valor ´JOS_´, ou seja, pesquisaria tudo que tivesse ´JOS´+Alguma Letra.
with IBQuery1 do begin Close; SQL.Text := ´select * from tabela where nome like :nome´; ParamByName(´NOME´).Value := TrataPesq( VarNome ); Open; end;
[b:e983207c7d]Função TrataPesq[/b:e983207c7d]
uses StrUtils...; function TrataPesq( C:string ):string; var i : integer; const letras = ´áéíóúàèìòùãõñâêîôûçäëïöüÁÉÍÓÚÀÈÌÒÙÃÕÑÂÊÎÔÛÇÄËÏÖÜ´; begin result := C; for i:=1 to length(letras) do Result := AnsiReplaceStr( Result , Copy(letras,i,1) , ´_´ ); Result := UpperCase( Result ); end;
Se por exemplo digitássemos o valor ´José´ para busca, a função TrataPesq, traria para o SQL o valor ´JOS_´, ou seja, pesquisaria tudo que tivesse ´JOS´+Alguma Letra.
GOSTEI 0
Emerson Nascimento
24/01/2006
gostaria de saber se é realmente aconselhável não utilizar acentos na hora de cadastrar
quanto ao cadastro em si não sei se há problema ou algum motivo para o desencorajamento do uso. eu sei que, se você trabalha com arquivos de troca de dados (principalmente para o governo), os acentos não são permitidos (pelo menos não eram até um dia desses).
GOSTEI 0