GARANTIR DESCONTO

Fórum Arithmetic exception, numeric overflow, or string truncation #51757

25/07/2005

0

Como posso fazer uma pesquisa em um campo string que contém acentos, usando like ? sempre que tento dá a seguinte mensagem:

ARITHIMETC EXCEPTION, NUMERIC OVERFLOW, OR STRING TRUNCATION 


uso o firebird com delphi 7 e estou usando sql assim:

Ibquery1.sql.text := ´Select * from clientes´+
´where cli_nome like :nome´;

parambyname(´nome´).value := edit1.text+´¬´;

quando o nome não tem acentos funciona perfeitamente.


Reginaldo174

Reginaldo174

Responder

Posts

25/07/2005

Reginaldo174

Se eu usar a clausula [b:2896c73e20]Containing[/b:2896c73e20] resolve em partes meu problema porém se pesquisar por josé vai aparecer também:

josé antonio
maria josé
carlos josé
antonio marcos josé

ou seja todos que tiverem josé no nome, porém para um banco de dados que possui 12500 nomes não seria muito viável


Responder

Gostei + 0

26/07/2005

Afarias

STARTING é o q vc procura creio eu!


´Select * from clientes where cli_nome starting :nome´



T+


Responder

Gostei + 0

27/07/2005

Reginaldo174

STARTING é o q vc procura creio eu! ´Select * from clientes where cli_nome starting :nome´ T+


Tentei esse comando mas também não funcionou. é muito estranho.
por enquanto estou usando uma função para substituir os acentos por ¬ temporariamente tá resolvido mas gostaria de uma solução correta usando SQL.


Responder

Gostei + 0

27/07/2005

Gandalf.nho

Vc está usando qual CHARACTER SET no seu banco e na conexão?


Responder

Gostei + 0

27/07/2005

Afarias

Ah! eu não tinha lido o seu post completamente...


...seu problema com acentos não está nos comandos SQL q usa, está na definição do char set da base.

Para trabalhar corretamente com acentos defina um chaset adequado para sua base (ex: iso8859_1 ou win1252). Este mesmo charset deve ser definido tb na conexão.


T+


Responder

Gostei + 0

27/07/2005

Reginaldo174

Vc está usando qual CHARACTER SET no seu banco e na conexão?


win1252


Responder

Gostei + 0

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

Aceitar