Erro overflow em query... plz ajudem....
Seguinte :
Estou fazeno uma pesquisa em uma query por um campo string tipo:
select campo1, campo2, campo3 from tabela where campo2 like :parametro
e no parametro estou mandado o tamanho maximo da string no meu caso é 8 , entao estou mandando uma string de 8 caracteres que é o tamanho maximo desse campo....
mas tbm estou incluindo ao final do parametro ¬ para uma busca aproximada....
e por causa dissu da pau de overflow....
alguem sabe como resolver isso?????
Estou fazeno uma pesquisa em uma query por um campo string tipo:
select campo1, campo2, campo3 from tabela where campo2 like :parametro
e no parametro estou mandado o tamanho maximo da string no meu caso é 8 , entao estou mandando uma string de 8 caracteres que é o tamanho maximo desse campo....
mas tbm estou incluindo ao final do parametro ¬ para uma busca aproximada....
e por causa dissu da pau de overflow....
alguem sabe como resolver isso?????
Tadeuaraujo
Curtidas 0
Respostas
Afarias
08/10/2003
mande uma string com no máx. 7 caracteres + o ´¬´ (que dá 8) ;-)
ou use STARTING WITH, ex::
select campo1, campo2, campo3
from tabela where campo2 starting with :parametro
(neste caso NÃO coloque o ´¬´)
T+
ou use STARTING WITH, ex::
select campo1, campo2, campo3
from tabela where campo2 starting with :parametro
(neste caso NÃO coloque o ´¬´)
T+
GOSTEI 0
Eduardo7
08/10/2003
Aqui é o Eduardo7.
Uma vez tive esse problema usando o interbase.
Logo descobri que na hora de criar o arquivo do banco(.GDB), esqueci de definir o tipo de caracter.
Tente criar, registrar o banco denovo com o tipo de caracter:ISO88591.
Aquele erro ´Overflow´ significa que entrou algum caracter que o banco não suporta pelo fato de vc não ter escolhido um tipo de caracter bom.
ISO88591 é muito bom.
Espero ter te ajudado.
Uma vez tive esse problema usando o interbase.
Logo descobri que na hora de criar o arquivo do banco(.GDB), esqueci de definir o tipo de caracter.
Tente criar, registrar o banco denovo com o tipo de caracter:ISO88591.
Aquele erro ´Overflow´ significa que entrou algum caracter que o banco não suporta pelo fato de vc não ter escolhido um tipo de caracter bom.
ISO88591 é muito bom.
Espero ter te ajudado.
GOSTEI 0
Afarias
08/10/2003
na verdade este erro pode ser por diversos fatores (como tentar jogar um string de 11 caracteres num varchar(10) -- como citado abaixo::
este erro é fogo!! ele pode ocorrer por diversos problemas, a citar::
1 - o character set definido na conexão ´não bate´ com o definido no banco de dados (ou em algum campo q vc está acessando)
2 - vc quer jogar (ou tem) um valor string com caracteres não aceitos pelo character set do seu banco (alguns char sets não aceitam acentos por exemplo) -- ou uma string maior q o definido no campo
3 - alguma operação (´matemática´) foi ilegal -- como divisão por zero!! ou o resultado da operação está fora do permitido para aquele tipo de dados.
T+
este erro é fogo!! ele pode ocorrer por diversos problemas, a citar::
1 - o character set definido na conexão ´não bate´ com o definido no banco de dados (ou em algum campo q vc está acessando)
2 - vc quer jogar (ou tem) um valor string com caracteres não aceitos pelo character set do seu banco (alguns char sets não aceitam acentos por exemplo) -- ou uma string maior q o definido no campo
3 - alguma operação (´matemática´) foi ilegal -- como divisão por zero!! ou o resultado da operação está fora do permitido para aquele tipo de dados.
T+
GOSTEI 0