Fórum problemas com acentos e maiusculas no SQL!!! #241882
07/07/2004
0
para fazer consultas isso nao seria interessante , resolvi entao colocar os devidos comandos em sql para q ele ignore maiusculas !!! ai tudo blz ... digito a palavra a ser pesquisada em tudo em minusculas e ele acha legal!
agora o problema é o seguinte eu tenho um cadastro com o nome José no inicio por exemplo ... eu digito jose pra pesquisar e ele nao acha! certo neh??? mas o estranho é q eu digitando josé , ele TBM nao acha!!! e ja descobri q ta dando erro por causa do comando pra ignorar maisculas , pois quando eu tiro ele roda tudo blz...digito José e acha tudo numa boa !!! sabem o q pode ser isso? ou qual o comando no SQL pra ele ignoras maisculas e acentos ???
o codigo q estouusando atualmente é esse:
//******************************************************
procedure TFormLocaliza.BitBtn1Click(Sender: TObject);
begin
Query1.Close;
Query1.SQL.Text:=
´Select * From Dados Where Upper(Nome) Like ´´¬´+UpperCase(Edit1.Text)+´¬´´ ´;
Query1.Open;
if QueryTelemar.RecordCount=0 then
Begin
ShowMessage(´Nenhum registro encontrado!´);
end;
end;
//**********************************************************
agradeço a todos pela atençao !
valew!

Pedrohventura
Curtir tópico
+ 0Posts
07/07/2004
Bon Jovi
Gostei + 0
07/07/2004
Pedrohventura
mas o q esta faltando é algum comando pra fazer o sql ignorar o acento...
tipo eu digitar ´ jose ´ sem acento e ele achar o registro (q no caso esta acentuado)... existe alguma forma de fazer isso???
Gostei + 0
07/07/2004
Lucas Silva
Gostei + 0
07/07/2004
Pedrohventura
Gostei + 0
07/07/2004
Bon Jovi
Ok. Mas agora é necessário saber qual banco vc tá usando.
Gostei + 0
08/07/2004
Pedrohventura
obrigado!
Gostei + 0
08/07/2004
Bon Jovi
Sobre a questão veja se esses tópicos podem ajudar:
http://delphiforum.icft.com.br/forum/viewtopic.php?t=22386
http://delphiforum.icft.com.br/forum/viewtopic.php?t=20961
http://delphiforum.icft.com.br/forum/viewtopic.php?t=14681
http://delphiforum.icft.com.br/forum/viewtopic.php?t=9309
Nunca participei de um sistema que tivesse esse requisito, mas uma outra alternativa que imagino no momento seria vc criar uma coluna nova pra guardar o nome sem acento.
Claro, teria que antes fazer um programinha temporário pra atualizar os registros existentes. O programinha só rodaria uma vez... nao importaria a lentidao do loop.
Aí no seu sistema toda vez que gravar ´NOME´ usaria uma função via Delphi pra retirar os acentos e gravar em ´NOME_SEM_ACENTO´...
ClientDataSet1.FieldByName(´NOME_SEM_ACENTO´).AsString := RetiraAcento(edtNome.Text);
Se essa situação for em muitas tabelas pode não valer a pena. Avalie seu caso pra ver o q é melhor. Podendo tb avaliar a questão de só gravar sem acento mesmo, como o Lucas falou. Pois basta vc fazer o programinha pra atualizar a base existente.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)