Erro ao da o Post no Lazarus

Delphi

02/11/2017

Boa noite meus caros amigos, estou tendo um pequeno erro que não estou conseguindo resolver, pois tem oras que ele funciona, consigo fazer uns dois cadastros mais no terceiro da o erro estou enviando o link do erro.

https://onedrive.live.com/?cid=DE77476E948CA5E2&id=DE77476E948CA5E2%21229&parId=root&o=OneUp

Peso encarecidamente a ajuda dos programadores....
Helton Garrido

Helton Garrido

Curtidas 0

Respostas

Mateus

Mateus

02/11/2017

Não consegui abrir o link Helton.
GOSTEI 0
Helton Garrido

Helton Garrido

02/11/2017

Meu caro Mateus me desculpe, pois esta aí o link ele esta em duas partes. Eu agradeço pela sua ajuda

https://drive.google.com/file/d/0By2I94yazF_eZUhNV1ZnUkYzSmM/view?usp=sharing

https://drive.google.com/file/d/0By2I94yazF_eTVBBU3hkRF81MEk/view?usp=sharing
GOSTEI 0
Mateus

Mateus

02/11/2017

Opa Helton, na verdade esse erro vem do firebird, e é um problema na conversão de algum dos dados que você está tentando salvar.
Tem que dar uma revisada, tipo teu campo é varchar(10) no banco, e tu tá mandando salvar uma string com mais de 10 caracteres, ou o campo é integer, no banco, tu ta mandando uma string.
O problema é com os dados que você está mandando salvar.
GOSTEI 0
Helton Garrido

Helton Garrido

02/11/2017

Meu caro Mateus, boa noite, veja a estrutura do meu banco, mais eu acho que o problema está na ora do cálculo nos campos Peso com a Altura, pois os mesmos irão calcular o IMC, veja a linha de código do cálculo.

CREATE GENERATOR GEN_CADMORADOR_ID;

CREATE TABLE CADMORADOR (
COD INTEGER NOT NULL,
NOME VARCHAR(80) NOT NULL,
SOBRENOME VARCHAR(30),
ENDERECO VARCHAR(100),
BAIRRO VARCHAR(30),
CIDADE VARCHAR(30),
UF VARCHAR(2),
CEP VARCHAR(10),
TELEFONE VARCHAR(123),
DATANASC DATE NOT NULL,
IDADE VARCHAR(20),
SEXO VARCHAR(1),
RG VARCHAR(10),
CPF VARCHAR(20),
CNH VARCHAR(20),
PESO NUMERIC(5,2),
ALTURA NUMERIC(3,2),
IMC NUMERIC(4,2),
PA VARCHAR(2),
HORARIO TIME,
PROFISSAO VARCHAR(50),
OBS VARCHAR(1024)
);


ALTER TABLE CADMORADOR ADD CONSTRAINT PK_CADMORADOR PRIMARY KEY (COD);


Var
Peso, Altura, IMC: Real;
begin

Peso := StrToFloat(dbPeso.Text);
Altura := StrToFloat(dbAltura.Text);
IMC:=Peso/(Altura*Altura);
dbIMC.Text := FloatToStr(IMC);

Então meu caro Mateus está aí a minha estrutura da Tabela e mais a linha de código. Lembrando que quando eu coloco a código do cálculo em Button ele calcula normalmente o problema é quando dou o "Post".
GOSTEI 0
Helton Garrido

Helton Garrido

02/11/2017

Boa tarde, meus caros amigos já olhei todo a minha tabela e não consigo identificar onde esta o problema que esta causando este erro, veja o link abaixo tanto da minha tabela quanto do erro.

Lembrando que os campo da tabela esta diferente da primeira, pois estava mudando para identificar o erro e não tive sucesso...

Minha Tabela:

https://drive.google.com/file/d/0By2I94yazF_eWnI1RnpodEVJbUU/view?usp=sharing

Erro ao mndar gravar no Banco

https://drive.google.com/file/d/0By2I94yazF_eaUJVb21zc1ZlTGM/view?usp=sharing

Meus caros, agradeço desde já....
GOSTEI 0
Helton Garrido

Helton Garrido

02/11/2017

Desculpa, pois o link certo do Banco é este:

https://drive.google.com/file/d/0By2I94yazF_eYUxEOGVUU0FSTUU/view?usp=sharing
GOSTEI 0
Mateus

Mateus

02/11/2017

Oi Helton, o problema pode estar na vírgula,
tenta o seguinte:

dbIMC.Text:=StringReplace(FloatToStr(IMC),',','.',[rfReplaceAll]);


E se o peso e a altura também contiverem vírgula, deves fazer a mesma coisa nos seus respectivos DBEdit.Text antes de dar o Post.
GOSTEI 0
POSTAR