[firebase-br] Resposta "final" a Problemas com filtros com acentos e cedilhas :

Carlos Antônio Ferreira da Silva carlosmuzambinho em yahoo.com.br
Sáb Maio 6 10:59:59 -03 2006


Ao invés de utilizar selects com

select ID_INTERPRETE
 From TB_INTERPRETE
 where NM_INTERPRETE ="VALENçA"

use

select ID_INTERPRETE
 From TB_INTERPRETE
 where Uppercase(NM_INTERPRETE)
Like "VALEN_A" => o UNDERLINE substitui por 1 caractere qualquer no local

A função abaixo, troca a STRING enviada, PARA UMA STRING
com "_" (underline) em qualquer local com acento.

=> Use-a assim :
 SqlProdutos.sql.Add('Where Upper(Prod_apr.Desc_Apr) Like
'''+AjustaString_Para_SQL(Procurar_Por)+'''');

Podem usá-la, fui eu quem criei ...

// Troca STRING com acentos, para "%" no local que tiver acento.
// utilizado nos select para funcionar filtro com acentos.
// CRIADA POR CARLOS : Domingo, 19/dez/2004
Function AjustaString_Para_SQL(Str_Enviada:String):String;
Var
Antes, s:String;
x:Integer;
Begin
 s:='';  Str_Enviada := UpperCase(Str_Enviada);
 //
 // Se for algum caractere acentuado, substitui por "%"
 Antes := Str_Enviada ;
 For x:=1 to Length(Antes) do
 begin
  If Antes[X] in [
  'á' , 'Á' , 'à','À', 'Ã','ã', 'â', 'Â' , 'ª', 'º',
  'é' , 'É' , 'è','È',          'ê', 'Ê' ,
  'í' , 'Í' , 'ì','Ì',          'î', 'Î' ,
  'ó' , 'Ó' ,          'Õ','õ', 'ô', 'Ô' ,
  'ú' , 'Ú' ,
  'ç' , 'Ç'   ] then
  S:= S + '_'
  Else
  S:= S + Antes[X];
 End;
 Result := S;
End;


Ass :
Carlos A.F.S.
Analista de Sistemas e Professor com Licenciatura em Informática



-----Mensagem Original-----
De: <firebird-br em yahoogrupos.com.br>
Para: <firebird-br em yahoogrupos.com.br>
Enviada em: sábado, 6 de maio de 2006 04:57
Assunto: [firebird] Resumo 1916


Existem 5 mensagens sobre este tópico.

Tópicos contidos neste resumo:

      1. RES: Caracteres Especiais
           De: "Moked - Tamara \(Brazil\)" <tamara em moked.com.br>
      2. Capacidade do Firebird
           De: "marcoaurelio2503" <marcoaurelio250303 em gmail.com>
      3. Re: rotina para procura
           De: Gustavo Elias Lang <gugalang em yahoo.com.br>
      4. Velocidade
           De: "Ailson" <ailson em amesc.com.br>
      5. Velocidade
           De: "Ailson" <ailson em amesc.com.br>


________________________________________________________________________
________________________________________________________________________

 Mensagem: 1
     Data: Fri, 5 May 2006 08:52:12 -0300
       De: "Moked - Tamara \(Brazil\)" <tamara em moked.com.br>
  Assunto: RES: Caracteres Especiais

Adalberto,

Usa a função UpperCase(NoMeDo_InTeRpReTe), acho q dai ele encontra...

Espero ter ajudado,

Tamara Clemente - Suporte Técnico
Moked do Brasil - Consultoria de Segurança Empresarial
Divisão MokInf de Informática
PABX: (55-11) 5071-2748
tamara em moked.com.br <mailto:tamara em moked.com.br>
www.moked.com.br <http://www.moked.com.br/>


________________________________

De: firebird-br em yahoogrupos.com.br [mailto:firebird-br em yahoogrupos.com.br]
Em nome de Adalberto de Sousa Monteiro
Enviada em: quinta-feira, 4 de maio de 2006 19:46
Para: firebird-br em yahoogrupos.com.br
Assunto: [firebird] Caracteres Especiais


Pessoal,
Estou com a seguinte situação.
Meu cliente quer importar nome de musicas para o banco de dados, atraves de
arquivos texto.
Utilizo Firebird 1.5 e tenho o seguinte arquivo texto (No final do email).

Ja tenho todos os interpretes cadastrados, e na importação da musica, busco
o codigo do interprete pelo nome dele que esta no arquivo texto, pois na
tabela de musica a chave primaria é feita pela codigo do interprete + codigo
da musica.

Porem quando tento buscar pelo nome do interprete que contenha caracteres
especiais, ele não consegui encontrar.

Exemplo:
No banco tenho o seguinte interprete cadastrado ALCEU VALENÇA - Codigo : 28

Utlizo a rotina abaixo e ele não consegue encontrar o interprete pois o
conteudo da variavel esta com o seguinte valor: 'ALCEU VALENçA'

Alguem saberia me dar uma luz ?

Rotina para importação

NmeInterprete :String

   with qryImpMusicas do
   begin
      Close;
      SQL.Clear;
      SQL.Add(' select ID_INTERPRETE ');
      SQL.Add('   From TB_INTERPRETE  ');
      SQL.Add('  where NM_INTERPRETE = ' + QuotedStr(
(UpperCase(NmeInterprete)) ) );
      Open;
   end;


select ID_INTERPRETE
   From TB_INTERPRETE
  where NM_INTERPRETE = 'ALCEU VALENçA'



Arquivo Texto:
Alceu Valença - A Manga Rosa
Alceu Valença - Ai De Ti Copacabana
Alceu Valença - Anunciação
Alceu Valença - Carnaval Na Marim
Alceu Valença - Chão De Giz
Alceu Valença - Como Dois Animais
Alceu Valença - Coração Bobo
Alceu Valença - Depois Do Amor
Alceu Valença - Dona De 7 Colinas
Alceu Valença - Ela Só Pensa Em Namorar
Alceu Valença - Embolada Do Tempo
Alceu Valença - Girassol
Alceu Valença - Hino De Pernambuco
Alceu Valença - Jacarapaguá Blues
Alceu Valença - La Belle De Jour
Alceu Valença - Longe Demais
Alceu Valença - Morena Tropicana
Alceu Valença - No Tempo Que Me Querias
Alceu Valença - Noite Vazia
Alceu Valença - O Xote Das Meninas
Alceu Valença - Pelas Ruas Que Andei
Alceu Valença - Petrolina Juazeiro
Alceu Valença - Quando Você Foi Embora
Alceu Valença - Romance Da Moreninha
Alceu Valença - Sabiá
Alceu Valença - Samba Do Tempo
Alceu Valença - Sete Desejos
Alceu Valença - Solidão
Alceu Valença - Tesoura Do Desejo (Ft Zizi Pos
Alceu Valença - Tomara
Alceu Valença - Tu Vens
Alceu Valença - Táxi Lunar
Alceu Valença - Vampira
Alceu Valença - Vem Morena
Alceu Valença - Xote Delicado

[As partes desta mensagem que não continham texto foram removidas]



Endereços de e-mail do grupo:
Enviar mensagem: firebird-br em yahoogrupos.com.br
Assinar: firebird-br-subscribe em yahoogrupos.com.br
Cancelar assinatura: firebird-br-unsubscribe em yahoogrupos.com.br
Proprietário da lista: firebird-br-owner em yahoogrupos.com.br

Visite:

http://www.firebird.com.br

Colabore com o firebird.com.br envie sua critica, dica, artigo, sugestão ou
informe link quebrado em: cfb em firebird.com.br



Yahoo! Grupos, um serviço oferecido por:
PUBLICIDADE


<http://br.ard.yahoo.com/SIG=12fj8pnd9/M=399886.8024024.9299154.2369893/D=br
clubs/S=2137114677:HM/Y=BR/EXP=1146789196/A=3594535/R=2/id=noscript/SIG=154u
kt5c8/*http://lt.dell.com/lt/lt.aspx?CID=12257&LID=332199&DGC=BA&DGSeg=DHS&D
URL=http://www1.la.dell.com/content/products/category.aspx/desktops?c%3dbr%2
6l%3dpt%26s%3ddhs>

________________________________

Links do Yahoo! Grupos


* Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/firebird-br/

* Para sair deste grupo, envie um e-mail para:
firebird-br-unsubscribe em yahoogrupos.com.br
<mailto:firebird-br-unsubscribe em yahoogrupos.com.br?subject=Unsubscribe>

* O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do
Yahoo! <http://br.yahoo.com/info/utos.html> .




[As partes desta mensagem que não continham texto foram removidas]



________________________________________________________________________
________________________________________________________________________

 Mensagem: 2
     Data: Fri, 05 May 2006 13:00:48 -0000
       De: "marcoaurelio2503" <marcoaurelio250303 em gmail.com>
  Assunto: Capacidade do Firebird

Bom Dia a Todos!!      Estou com um grande problema. Estou Trabalhando em um
setor de programação no qual sou responsável. Os Programas na empresa a qual
trabalho estão quase todos rodando em firebird.     Eles vão ser utilizados
em prefeituras onde o acesso vai ser grande e o numero de dados vai ser
muito grande.    Gostaria de saber o quanto o firebird suporta? Está uma
grande polêmica aqui na empresa sobre este assunto.     Dois novos
funcionarios que entraram há um mês estão defamando a imagem do firebird.
Dizem que o MySql e Postgree e outros bancos são melhores que o próprio
firebird.   Detalham casos de que o firebird dá problemas até com mil
registros.      Eu  já espero que umas das tabelas (contribuintes) chegue
no mínimo a ter 30.000 registros, podendo chegar a casa dos milhões.


[As partes desta mensagem que não continham texto foram removidas]



________________________________________________________________________
________________________________________________________________________

 Mensagem: 3
     Data: Fri, 5 May 2006 20:45:07 +0000 (GMT)
       De: Gustavo Elias Lang <gugalang em yahoo.com.br>
  Assunto: Re: rotina para procura

É o seguinte...
  Eu utilizo o Collate Win PTBR 100% case e accent insensitive...

  Alguns dias atrás o Rodrigo Ramalho Xavier me procurou com algumas
dúvidas. Dei algumas dicas e ele montou um How To muito bacana.

  Vou mandar para você o arquivo PDF...


---------------------------------
 Yahoo! Messenger com voz - Instale agora e faça ligações de graça.

[As partes desta mensagem que não continham texto foram removidas]



________________________________________________________________________
________________________________________________________________________

 Mensagem: 4
     Data: Fri, 5 May 2006 21:20:42 -0000
       De: "Ailson" <ailson em amesc.com.br>
  Assunto: Velocidade

Olá,

Pessoal to com problema de velocidade no banco, quando faço um joinner entre
duas tabelas, uma com uns 600.000 registros outra com uns 50.000 registros,
gostaria de saber:

- O joinner que faço usa uma chave primária em uma tabela, e outro campo
comun na outra ( não é chave estrangeira), isso interfere muito na
velocidade ?

- O firebird e o interbase tem diferença de  velocidade entre eles ?

- Existe um limite fisico do banco, tipo um banco com 200 mb, ou uma tabela
com 600.000 registros ou mais ??

obrigado pessoal.

_______________________________________
Menssagem emviada utilizando o webmail FECAM.org.br



________________________________________________________________________
________________________________________________________________________

 Mensagem: 5
     Data: Fri, 5 May 2006 21:29:37 -0000
       De: "Ailson" <ailson em amesc.com.br>
  Assunto: Velocidade

Olá,

Pessoal to com problema de velocidade no banco, quando faço um joinner entre
duas tabelas, uma com uns 600.000 registros outra com uns 50.000 registros,
gostaria de saber:

- O joinner que faço usa uma chave primária em uma tabela, e outro campo
comun na outra ( não é chave estrangeira), isso interfere muito na
velocidade ?

- O firebird e o interbase tem diferença de  velocidade entre eles ?

- Existe um limite fisico do banco, tipo um banco com 200 mb, ou uma tabela
com 600.000 registros ou mais ??

obrigado pessoal.

_______________________________________
Menssagem emviada utilizando o webmail FECAM.org.br



________________________________________________________________________
________________________________________________________________________


Endereços de e-mail do grupo:
 Enviar mensagem: firebird-br em yahoogrupos.com.br
 Assinar: firebird-br-subscribe em yahoogrupos.com.br
 Cancelar assinatura: firebird-br-unsubscribe em yahoogrupos.com.br
 Proprietário da lista: firebird-br-owner em yahoogrupos.com.br

Visite:

http://www.firebird.com.br

Colabore com o firebird.com.br envie sua critica, dica, artigo, sugestão ou
informe link quebrado em: cfb em firebird.com.br
------------------------------------------------------------------------
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/firebird-br/

<*> Para sair deste grupo, envie um e-mail para:
    firebird-br-unsubscribe em yahoogrupos.com.br

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html


------------------------------------------------------------------------




__________ Informação do NOD32 IMON 1.1523 (20060505) __________

Esta mensagem foi verificada pelo NOD32 sistema antivírus
http://www.eset.com.br






Mais detalhes sobre a lista de discussão lista