Erro Arithimetic exception,numeric overflow or string...
Olah pessoal, que erro eh esse?
[color=red:1b1d58db30]ARITHIMETC EXCEPTION, NUMERIC OVERFLOW, OR STRING TRUNCATION[/color:1b1d58db30]
[b:1b1d58db30]Estou usando o Firebird 2.0
Lembrando que uso o CharSet Win1252[/b:1b1d58db30]
Estou usando esse codigo e esta dando o erro acima
Outro detalhe isso soh esta ocorrendo num form em outro no mesmo programa funciona sem problemas, os dois carrego a SQL como mostrei acima.
Tambem a SQL soh abre depois que clico em um Treeview aonde tem os nomes de empresas qeu seleciono para jogar em dois labels, mais logo no primeiro clique no treeview ja ocorre o erro, e se eu persistir no erro ele acaba mostrando a SQL, porem somente depois de mostrar o erro.
Grato ajuda de todos
Adriano
[color=red:1b1d58db30]ARITHIMETC EXCEPTION, NUMERIC OVERFLOW, OR STRING TRUNCATION[/color:1b1d58db30]
[b:1b1d58db30]Estou usando o Firebird 2.0
Lembrando que uso o CharSet Win1252[/b:1b1d58db30]
Estou usando esse codigo e esta dando o erro acima
with dm.Qsaida do begin SQL.clear; dm.qsaida.Close; sql.add(´ Select * from saidas ´); sql.add(´ where cnpjempresa starting:p_cnpjempresa and ano starting:p_ano order by sequencia desc ´); parambyname(´p_cnpjempresa´).asstring:=label1.caption; parambyname(´p_Ano´).AsString:=label2.Caption; open; DataSource1.DataSet:=DM.Qsaida; //eNR.Caption := IntToStr(dm.QSAIDA.RecordCount); end;
Outro detalhe isso soh esta ocorrendo num form em outro no mesmo programa funciona sem problemas, os dois carrego a SQL como mostrei acima.
Tambem a SQL soh abre depois que clico em um Treeview aonde tem os nomes de empresas qeu seleciono para jogar em dois labels, mais logo no primeiro clique no treeview ja ocorre o erro, e se eu persistir no erro ele acaba mostrando a SQL, porem somente depois de mostrar o erro.
Grato ajuda de todos
Adriano
Adriano_servitec
Curtidas 0
Respostas
Emerson Nascimento
22/12/2006
não consegui entender o porquê do erro, mas percebi algo que deve ser alterado no seu código. você está limpando a instrução SQL possivelmente com a query aberta. corrija isso:
with dm.Qsaida do begin close; // feche a query sql.clear; // depois "limpe" a instrução sql.add(´ Select * from saidas ´); sql.add(´ where cnpjempresa starting :p_cnpjempresa and ano starting :p_ano order by sequencia desc ´); parambyname(´p_cnpjempresa´).asstring:=label1.caption; parambyname(´p_Ano´).AsString:=label2.Caption; open; DataSource1.DataSet:=DM.Qsaida; //eNR.Caption := IntToStr(dm.QSAIDA.RecordCount); end;
GOSTEI 0
Adriano_servitec
22/12/2006
Olah Emerson, ainda nao deu certo, mais tambem neste codigo esta dando o mesmo erro
procedure TForm6.BitBtn10Click(Sender: TObject); begin if application.messagebox(PChar(´Deseja Gravar esta Nota?´), PChar(´Incluir Dados´+Self.Caption),MB_IConquestion +MB_YesNo)=IDYES then begin with dm.QENTRADA do begin close; SQL.clear; sql.add(´ Insert Into ENTRADA (CHAVE, cnpjempresa, ano, CNPJE, CF, codigoF, basecalculo, txipi, ipi, descr, hrlcto, data) ´); sql.add(´ Values (:CHAVE, :cnpjempresa, :ano, :CNPJS, :CF, :codigoF, :P_valor, :taxa, :ipi, :descr, :hrlcto, :data) ´); ParamByName(´chave´).AsString:=label22.caption; ParamByName(´cnpjempresa´).AsString:=label20.caption; ParamByName(´ano´).AsString:=label21.caption; ParamByName(´cnpjs´).AsString:=edit1.Text; ParamByName(´cf´).AsString:=Edit3.Text; ParamByName(´codigof´).AsString:=Maskedit2.Text; ParamByName(´descr´).Value:=dbedit6.Text; svalor := stringreplace(jvedit1.text, ´.´, ´´, [rfReplaceAll]); svalor := stringreplace(svalor, ´,´, ´.´, [rfReplaceAll]); ParamByName(´P_valor´).Value:=sValor; ParamByName(´taxa´).AsString:=Edit3.Text; svalor2 := stringreplace(jvedit2.text, ´.´, ´´, [rfReplaceAll]); svalor2 := stringreplace(svalor2, ´,´, ´.´, [rfReplaceAll]); ParamByName(´IPI´).Value:=sValor2; ParamByName(´hrlcto´).Value:=Time; ParamByName(´data´).Value:=Date; try ExecSQL; dm.TRentrada.Active:=true; dm.TRentrada.Commit; //**********ATUALIZAR TABELAS************** close; SQL.clear; sql.add(´ Select * from entrada ´); sql.add(´ where cnpjempresa =:p_cnpjempresa and ano =:p_ano order by sequencia desc ´); parambyname(´p_cnpjempresa´).asstring:=label20.caption; parambyname(´p_Ano´).AsString:=label21.Caption; eNR.Caption := IntToStr(dm.Qentrada.RecordCount); dm.qentrada.open; //eNR.Caption := IntToStr(dm.QSAIDA.RecordCount); TrataButtons; BitBtn9.setfocus; sbar.SimpleText:=´Dados Incluidos´; jvedit1.text:=´´; except on E:Exception do begin dm.TRentrada.RollBack; sbar.SimpleText:=´Abortado´; ShowMessage(´Falha na Inclusão dos Dados!´#1310´ Mensagem: ´+E.Message); end; end; end; end; end;
GOSTEI 0
Emerson Nascimento
22/12/2006
esse erro pode acontecer em duas situações (que eu saiba):
1 - quando você tenta gravar num campo um valor maior do que ele pode comportar. por ex.: tentar gravar ´JOSE´ num campo CHAR(1)
2 - quando você utiliza acentos numa string, mas o COLLATE utilizado no banco de dados não suporta acentos.
1 - quando você tenta gravar num campo um valor maior do que ele pode comportar. por ex.: tentar gravar ´JOSE´ num campo CHAR(1)
2 - quando você utiliza acentos numa string, mas o COLLATE utilizado no banco de dados não suporta acentos.
GOSTEI 0
Adriano_servitec
22/12/2006
esse erro pode acontecer em duas situações (que eu saiba):
1 - quando você tenta gravar num campo um valor maior do que ele pode comportar. por ex.: tentar gravar ´JOSE´ num campo CHAR(1)
2 - quando você utiliza acentos numa string, mas o COLLATE utilizado no banco de dados não suporta acentos.
Sim realmente na hora de gravar tinha um campo com o varchar menor que o que ia ser gravado (falta de atençao) :oops:
Mais no primeiro post ainda nao entendi o motivo do erro, Uso em todas tabelas CharSet Win1252 e a maioria do collate win1252 e alguns Win_PTBR
GOSTEI 0
Adriano_servitec
22/12/2006
Continuando...
Pessoal, bom dia, estou com problemas ao clicar na barra de um DBGrid, aparece o seguinte erro: [color=red:0b2b05c3cc][b:0b2b05c3cc]white of address 4D4F43000[/b:0b2b05c3cc][/color:0b2b05c3cc]
Mais isso soh ocorre dentro do dbgrid quando vou clicar para mostrar os dados contidos nele. Depois de tanto ter que usar o F9 para ir adiante apareçe outra mensagem: [color=red:0b2b05c3cc][b:0b2b05c3cc]invalid pointer operation[/b:0b2b05c3cc][/color:0b2b05c3cc]
Vi casos parecidos como o meu na hora de fechar ou abrir algum form.
Mais antes deste erro ainda tenho um treeview que tem o nome das empresas e toda vez que clico em cima de uma empresa para abrir aparece este erro
[color=red:0b2b05c3cc]ARITHIMETC EXCEPTION, NUMERIC OVERFLOW, OR STRING TRUNCATION[/color:0b2b05c3cc] :(
Este erro refere-se
[b:0b2b05c3cc]1 - quando você tenta gravar num campo um valor maior do que ele pode comportar. por ex.: tentar gravar ´JOSE´ num campo CHAR(1)
2 - quando você utiliza acentos numa string, mas o COLLATE utilizado no banco de dados não suporta acentos.[/b:0b2b05c3cc]Mais nao achei nenhum problema tanto com o collate quanto com tamanho do campo. Inclusive uso o mesmo codigo em outro form do mesmo projeto sem ter problemas.
Ja postei sobre este erro aqui no forum na parte Banco de Dados, mais ninguem respondeu, agora sinto que esse erro esta agravando os outros.
Curioso eh que isso soh ocorre com o Delphi ligado, se eu sair dele e usar o programa nao da o erro. :?:
Pessoal, bom dia, estou com problemas ao clicar na barra de um DBGrid, aparece o seguinte erro: [color=red:0b2b05c3cc][b:0b2b05c3cc]white of address 4D4F43000[/b:0b2b05c3cc][/color:0b2b05c3cc]
Mais isso soh ocorre dentro do dbgrid quando vou clicar para mostrar os dados contidos nele. Depois de tanto ter que usar o F9 para ir adiante apareçe outra mensagem: [color=red:0b2b05c3cc][b:0b2b05c3cc]invalid pointer operation[/b:0b2b05c3cc][/color:0b2b05c3cc]
Vi casos parecidos como o meu na hora de fechar ou abrir algum form.
o erro EAccessViolation acontece quando vc tenta abrir algo q nao foi criado ainda.. utilizar algun unit q nao esta aberta algo assim
Mais no meu caso ja esta dentro do form acontece somente quando clico dentro do dbgrid.Mais antes deste erro ainda tenho um treeview que tem o nome das empresas e toda vez que clico em cima de uma empresa para abrir aparece este erro
[color=red:0b2b05c3cc]ARITHIMETC EXCEPTION, NUMERIC OVERFLOW, OR STRING TRUNCATION[/color:0b2b05c3cc] :(
Este erro refere-se
[b:0b2b05c3cc]1 - quando você tenta gravar num campo um valor maior do que ele pode comportar. por ex.: tentar gravar ´JOSE´ num campo CHAR(1)
2 - quando você utiliza acentos numa string, mas o COLLATE utilizado no banco de dados não suporta acentos.[/b:0b2b05c3cc]Mais nao achei nenhum problema tanto com o collate quanto com tamanho do campo. Inclusive uso o mesmo codigo em outro form do mesmo projeto sem ter problemas.
Ja postei sobre este erro aqui no forum na parte Banco de Dados, mais ninguem respondeu, agora sinto que esse erro esta agravando os outros.
Curioso eh que isso soh ocorre com o Delphi ligado, se eu sair dele e usar o programa nao da o erro. :?:
GOSTEI 0
Adriano_servitec
22/12/2006
Bom pessoal, pelo visto acho que o problema eh esse
Pois testei o mesmo projeto em outro computador e o erro nao ocorre.
Agora fica a pergunta: O que tem haver com [color=green:af18e5f0cf]ENDEREÇOS DE MEMÓRIA.[/color:af18e5f0cf], o que eh isso?
Algo com memoria do micro?
Aonde fiz o projeto foi num computador com 128MB de memoria e testei o mesmo projeto em outro micro com 256MB de memoria. Eh isso o problema? :?: :?: :?:
[color=red:af18e5f0cf]invalid pointer operation[/color:af18e5f0cf] aprece quando voce esta utilizando algum tipo de Estrutura de Dados onde se manipulam [color=green:af18e5f0cf]ENDEREÇOS DE MEMÓRIA.[/color:af18e5f0cf]Porem, antes de exibir um erro na manipulação de Memória, é apresentada uma mensagem que indica onde aconteceu a Violação do Endereço de Memória, que pode ser essa mensagem que apareceu. Normalmente as violações de memória são captadas pelo sistema operacional, porem algumas envolvendo ´ponteiros´ não chegam a ser percebidas, somente sendo capturadas pelo TRY..EXCEPT ou quando o Delphi esta Aberto.
Pois testei o mesmo projeto em outro computador e o erro nao ocorre.
Agora fica a pergunta: O que tem haver com [color=green:af18e5f0cf]ENDEREÇOS DE MEMÓRIA.[/color:af18e5f0cf], o que eh isso?
Algo com memoria do micro?
Aonde fiz o projeto foi num computador com 128MB de memoria e testei o mesmo projeto em outro micro com 256MB de memoria. Eh isso o problema? :?: :?: :?:
GOSTEI 0