MESSAGEM DE ERRO!!!

USUARIO.EXCLUIDOS 15/08/2007 10:02:22
#230960
bom dia galera...

Tenho um probleminha...

Tenho uma rotina que capitura alguns dados pra mim, salvo esta dados em uma variavel do tipo string e depois faço uma update numa tabela, só que ele começa fazendo tudo certinho depois de algun tempo ela me mostra um erro de Overflow o que quer dizer que a variavel esta cheia só que a cada update eu lipo ela com empty...

alguém pode me ajudar...

desde ja agradeço a atenção de todos
EMANUEL 15/08/2007 10:06:00
#230961
Rafael,

vc nao prefere colocar o seu codigo, para podermos analisar melhor?

e informa extamante onde esta ocorrendo o erro.

sds
Emanuel
LCSD 15/08/2007 10:06:16
#230962
Este erro OVERFLOW é PQ VC limpou a variável, mas não a limpou da memória do micro.

Tente dar um CLOSE nesta variável (principalmente, se for variável que meche com base de dados)
RODRIGOMARCHESE 15/08/2007 10:06:24
#230963
Esse erro dá ao carregar as variáveis ou quando atualiza a tabela.

Pode ser que algum tipo de campo da sua tabela esteja incompatível com o conteudo da variável string do seu codigo
USUARIO.EXCLUIDOS 15/08/2007 10:15:54
#230969
Obrigado pelas respotas

O LCSD disse que devo dar um close na variavel deve ser isto mesmo por que só da erro depois de algum tempo executando, mas como faço para dar este "close" na variavel
USUARIO.EXCLUIDOS 15/08/2007 10:20:25
#230970
O código esta em anexo...

O erro ocorre quando ele tenta carregar a variavel quantidade!!!
USUARIO.EXCLUIDOS 15/08/2007 11:24:58
#230997
OVERFLOW é quando voce tenta carregar ou gravar um campo que é maior que a capacidade dele. Ex:
se vc for gravar o numero 999999999999 em um campo que seja integer, dara erro de OVERFLOW.
O mesmo é para carregar o dado. Se sua variavel é do tipo smallint e vc tentar carregar 9999999, da erro de OVERFLOW.

Espero ter ajudado.
USUARIO.EXCLUIDOS 15/08/2007 13:22:16
#231017
Resposta escolhida
Amigo, o problema não está na sua variável, mas sim na conversão que vc está tendando fazer.


Trim(CInt((.GetString(16, 47, 10))))

Provavelmente o valor retornado por .GetString(16, 47, 10) é maior que a capacidade de um inteiro, resultando então em erro.


Tente assim:
Quantidade = Trim(CLng((.GetString(16, 47, 10))))


ou assim:
Quantidade = Trim(CDbl((.GetString(16, 47, 10))))


Tópico encerrado , respostas não são mais permitidas