26/12/2005

Aritmethic excepito

Aritmethic excepiton numeric overflow or string truncation.
Ja cadastrei. quando altero a data numa tabela, so que ja existem datas e ja alterei algumas uso um Datetimerpicker.

como posso solucionar isso


obrigado


Pereiramarcos

Respostas

26/12/2005

Edilcimar

mostre o código, senão não dá para achar o erro


Responder Citar

26/12/2005

Pereiramarcos

mostre o código, senão não dá para achar o erro


DtsPaciente.DataSet.FieldByName(´dt_nasc´).AsDateTime := DateTimePicker1.Date;
Dtspaciente.DataSet.Post;
(Dtspaciente.DataSet as Tclientdataset).ApplyUpdates(-1); <-----
(DtsPaciente.DataSet as TClientDataSet).Refresh ; <-----
desabilitaCampos;


obrigado edilcimar


Responder Citar

26/12/2005

Edilcimar

o campo é datetime e vc está mandando só date?


Responder Citar

26/12/2005

Pereiramarcos

o campo é somente Date, no firebird acabei de confirmar, tb achei que fosse isso, mas tem registros que consigo alterar.


Responder Citar

26/12/2005

Edilcimar

então troque para
DtsPaciente.DataSet.FieldByName(´dt_nasc´).AsString := DateToStr(DateTimePicker1.Date);


Responder Citar

26/12/2005

Pereiramarcos

Funcionou mas quando vou alterar o sewgundo registro da o mesmo erro.
a impressao e que nao esta commitando, pode ser isso ?

:(


Responder Citar

26/12/2005

Pereiramarcos

este campo e um dominio

CREATE DOMAIN DATA AS
DATE

e o campo e do tipo Date dominio DATA


Responder Citar

26/12/2005

Edilcimar

então tente fechar e abrir novamente a tabela após o post


Responder Citar

26/12/2005

Pereiramarcos

acontecewu o que eu imaginava ele nao commita fechando apos o post
e abrindo novamente. . .
o que pode ser isso, pra quem e iniciante no Delphi como eu da maior desespero.


Responder Citar

26/12/2005

Edilcimar

tente dar um forcewrite após o comit


Responder Citar

26/12/2005

Pereiramarcos

pode dar um exemplo.


obrigado, pela forca.


Responder Citar

26/12/2005

Pereiramarcos

algum dado interessante, no registros iniciais nao da erro.

estou procurando este maudito erro.

que conversao e esta que so faz apos algum registros.

estou usando SQLTable será que tem algum problema.


Responder Citar

26/12/2005

Edilcimar

Será que vc não tem algum campo que deveria ter sido preenchido e não foi? Pode ser o formato da data de americano para brasileiro, só vai acontecer em determinados meses!


Responder Citar

26/12/2005

Pereiramarcos

no registro que gravei 01/09/1968 gravou sem erro, este registro e o numero 1 e o registro 2 tb nao da erro


no outro registro que tentei gravar 04/04/1935 deu este erro, este registro e o registro de numero 233, sera que tem alguma coisa haver.


como verificar o padrao americano ?
estou perdendo a linha de raciocinio. isso e ruim

Valeu cara


Responder Citar

26/12/2005

Edilcimar

padrão americano mm-dd-yyyy
nosso padrão dd-mm-yyyy
se grava o registro 1 e 2 e há problema com o 233 então o problema pode ser em algum outro campo pois a data está compatível


Responder Citar