GARANTIR DESCONTO

Fórum Erro de String no Delphi 7 #370527

16/05/2009

0

Pessoal

Acabei de migrar tabelas paradox para o Interbase com o IdataPump, ja alterei os forms e o data module, agora na compilação esta dando o seguinte erro [u:051d40902d][i:051d40902d]´Trying to store a string of length 6 into a field that can only contain 3´ [/i:051d40902d][/u:051d40902d].
Não consigo saber onde procurar, sei que o erro esta no DM, mas aonde ?
Alguem poderia me dar uma ajuda ?

Valeu !
Abraços


Mrobertopb

Mrobertopb

Responder

Posts

17/05/2009

Carlosrm

mrobertoPB,

por alto, vc está ´tentando armazenar uma string de tamanho 6 (caracteres) num campo (de alguma tabela) que pode conter apenas 3 (caracteres)´. Mais ou menos com tentar gravar ´pacote´ num campo que só permite 3 caracteres (´pac´, ´pct´, ´pce´, ´pte´,...).

Como a mensagem fala em ´campo´ (field), mais provavelmente algum campo de alguma tabela teve o tamanho (length) reduzido para três (3) caracteres por algum motivo (pump,...) ou pode ter acontecido de a tabela ter sido planejada quando esse campo não previa a possibilidade de ocupar mais que três caracteres (por exemplo, atualmente as siglas das Unidades Federativas do Brasil ocupam 2 casas/bytes.... enquanto que de dígitos em chapas de veículos, códigos de Cep e telefones às vezes tem que ter a quantidade ampliada - sem falar no bug do ano 2000... lembra?).

Pelo jeito você terá que aumentar o comprimento desse campo. E já que vai por a mão na massa, verifique se esse campo nunca precisará armazenar strings com comprimento maior que 6.

Para facilitar a pesquisa, comece procurando por campos de tabela que tenham comprimento (lenght) = 3 (char(3), varchar(3))...

Espero ter ajudado. carlosrm


:wink:


Responder

Gostei + 0

17/05/2009

Carlosrm

mrobertoPB,

por alto, vc está ´tentando armazenar uma string de tamanho 6 (caracteres) num campo (de alguma tabela) que pode conter apenas 3 (caracteres)´. Mais ou menos com tentar gravar ´pacote´ num campo que só permite 3 caracteres (´pac´, ´pct´, ´pce´, ´pte´,...).

Como a mensagem fala em ´campo´ (field), mais provavelmente algum campo de alguma tabela teve o tamanho (length) reduzido para três (3) caracteres por algum motivo (pump,...) ou pode ter acontecido de a tabela ter sido planejada quando esse campo não previa a possibilidade de ocupar mais que três caracteres (por exemplo, atualmente as siglas das Unidades Federativas do Brasil ocupam 2 casas/bytes.... enquanto que de dígitos em chapas de veículos, códigos de Cep e telefones às vezes tem que ter a quantidade ampliada - sem falar no bug do ano 2000... lembra?).

Pelo jeito você terá que aumentar o comprimento desse campo. E já que vai por a mão na massa, verifique se esse campo nunca precisará armazenar strings com comprimento maior que 6.

Para facilitar a pesquisa, comece procurando por campos de tabela que tenham comprimento (lenght) = 3 (char(3), varchar(3))...

Espero ter ajudado. carlosrm :wink:


Responder

Gostei + 0

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

Aceitar