Campo Moeda não grava no banco (RESOLVIDO)

Pessoal, estou usando o campo do scriptcase moeda para usar em valores de dinheiro, pois bem, a um tempo atras eu não consegui de forma nenhuma funcionar só dava erro então fica uma mascara em um campo de texto mesmo no scriptcase e pronto.

Porem estou em outra fase do desenvolvimento e estou tentando usar este campo e não da certo.

Estou usando o Mysql e nele já fiz vários testes colocando ele como varchar, float, double, decimal (13,2) e todos dão um tipo de erro e não grava o registro no bd, isso esta me forçando a usar um campo “texto” no scriptcase e poder salvar no banco e fico usando mascaras manualmente coisa que acho um absurdo já que a ferramenta tem um campo próprio para isso.

Pois bem, o que tenho que fazer ?

Observações: já mudei a configuração de “Usar configurações regionais” para não e editei tirando , e colocando .

Já deixei no sim para regionais e nada.

falta muita explicação
1- que erro exatamente, coloca os print das telas aqui
2- coloque em modo DEBUG e veja que informações estão sendo passadas para o banco na hora do (INSERT/UPDATE)
3- coloca print da configuração do campo.

Fiz um link com o que me pediu

https://1drv.ms/f/s!AtWxoeygi2lwi8pLCX_i2MPPikDMnA

A outra mensagem de erro que tambem já deu é sobre algo com a palavra “trucated”

[b]Pois bem, fiz um teste assim:

Coloquei no banco Mysql o campo como decimal e configurei corretamente para receber com 2 decimais.
Coloquei o campo em questão do formulário não como moeda e sim como DECIMAL, ai salva sem erro nenhum.

Em partes resolve mas então qual o significado de um campo chamado moeda se o meu banco de dados não aceita o dado formatado nele? ou eu realmente não estou sabendo setar o tipo de dado no meu db para receber os dados?

Mas no final o valor não fica certo no banco.

Ex: 28.562.55 (como seria agora)
Se visualizar em outra situação colocando para ficar em moeda ou decimal ai fica 2.856.255,00
Por isso quero usar o campo MOEDA[/b]

Hoje tentei colocando o que mais se usa

No banco como double e moeda no scriptcase e quando clico em incluir ele me manda a seguinte mensagem

data truncated for columnn

Estou mudando o campo para decimal na aplicação e coloquei no banco ja como double, float e fica dando esse erro de truncated.

Alguem para me ajudar, pode ser até algo besta para se revolver mas estou agarrado com isso. Isso é erro do meu mysql será?

se o campo é moeda, eu sempre usei decimal (10,2) nunca tive problema.

sincronize as aplicações ao alterar.

Haroldo, já fiz isso, a unica coisa que resolve é deixar double no banco e deixar numero na aplicação e colocar a mascara com as casas decimais. já não sei o que fazer.

E o pior que quando digito o valor no formulário e criei uma consulta para verificar os dados como ficaria e me apresentou mais problemas ainda.

Exemplo: o valor de 123456789 (1 milhão e pouco) é assim que esta gravado no banco de dados
No formulário me aparace assim 1.234.567,89 pois coloquei mascara
e na consulta me aparece assim 123.456.789 e quando coloca a mascará na consulta ele não aceita e fica misturando a mascara com o valor.

voce faz calculos com esse campo?

desculpa, não olhei o tópico desde o começo.

Ainda não mas farei sim. “Tipo valor unitário X quantidade” e por ai vai

Estou acostumado a trabalhar com banco de dados e nunca tive isso, estou desconfiando que é meu mysql só pode.

realmente algo estranho acontece pois aqui usamos dessa forma e nunca tivemos problema.

Vagner,

Vi na imagem que o SC está “enxergando” este campo como texto.
Pode ser que uma sincronização da tabela resolva isso.
Pode tentar criar um outro campo na tabela como decimal(10,2). Como o Haroldo disse, isso funciona sim.
Depois de criar, faça uma sincronização da tabela na aplicação do SC.
Tente usar este campo novo e veja se funciona corretamente.
[ ]´s

Ou criar um outro form só pra experimentar se está funcionando com a tabela.

Obrigado pessoal, fiz tudo que falaram, criei form, criei outro campo e nada

Mas …

depois de tudo fui nas propriedades do banco e mudei o separador de “,” para “.” e voalá.

Agradeço pela ajuda muito mas muito obrigado mesmo.

mas o padrão do banco é ponto como separador decimal, você tinha mexido nisso?

Haroldo, provavelmente eu mexi sim, mas não me recordava e nem ligava uma coisa a outra que seria a fonte do problema.