Ir para conteúdo
Fórum Script Brasil
  • 0

Erro ao gravar e criar campo


nsouza

Pergunta

Colegas,

o que pesquisei aqui não resolveu meu problema.

Tenho um campo no banco de dados mysql 5.0 chamado

vlrCondominio tipo: (double 9,2) .

Quando insiro o valor ex: 60,50 direto no banco de dados ele aceita, mas quando digito no campo

do formulário um EditNum o valor 60,50 da a mensagem de erro:

Truncated incorret double value: '60,50'

No delphi eu programei o tamanho do campo para Maxlength 15

Outro caso.

Criei um campo chamado status

integer(11), este campo é uma chave estrangeira da tabela status que tem os campos

codigo (integer,11) e descricao (varchar,50)

o campo codigo é autoincremente, já o campo estatus na outra tabela quando vou marcar as opões

not null e unsigned para criar a chave estrangeira da a mensagem:

'Data Truncated for colunm'status' at row1'

Desde já obrigado!

Link para o comentário
Compartilhar em outros sites

13 respostass a esta questão

Posts Recomendados

  • 0
Oi, 'nsouza' !

o sistema numérico do MySQL é o americano (USA). Ou seja ponto para decimal e virgula para milhar.

Denis,

essa não é a origem do problema, quando se usa o componente EditNum ele já vem com o formato

0.00 que é mostrado para o usuário 0,00. Mesmo assim fiz as alterações que você pediu e continua.

Outro ponto é o seguinto caso, em que os valores não digitados em um formulário. Olhe para você ver?

Link para o comentário
Compartilhar em outros sites

  • 0

'nsouza' ,

Quando você executa os comandos diretamentye na linha de comando do MySQL a gravação é efetuada?

Se for, o problema pode estar em um de dois lugares: o ODBC (a versão pode estar com erro) ou o componente do Delphi.

Tenta de novo e reporte o que você vê.

Estou achando estranho pois não estou reconhecendo as mensagens de erro como sendo do MySQL.

Link para o comentário
Compartilhar em outros sites

  • 0
'nsouza' ,

Quando você executa os comandos diretamentye na linha de comando do MySQL a gravação é efetuada?

Se for, o problema pode estar em um de dois lugares: o ODBC (a versão pode estar com erro) ou o componente do Delphi.

Tenta de novo e reporte o que você vê.

Estou achando estranho pois não estou reconhecendo as mensagens de erro como sendo do MySQL.

Eu uso a ferramenta grafica EMS for mysql, quando digito o valor diretamente nela ou altero o valor funciona perfeitamente.

O problema ésta no frontend. Quando digito no formulário ai da a mensagem de erro.

Link para o comentário
Compartilhar em outros sites

  • 0
Colegas,

o que pesquisei aqui não resolveu meu problema.

Tenho um campo no banco de dados mysql 5.0 chamado

vlrCondominio tipo: (double 9,2) .

Quando insiro o valor ex: 60,50 direto no banco de dados ele aceita, mas quando digito no campo

do formulário um EditNum o valor 60,50 da a mensagem de erro:

Truncated incorret double value: '60,50'

No delphi eu programei o tamanho do campo para Maxlength 15

Outro caso.

Criei um campo chamado status

integer(11), este campo é uma chave estrangeira da tabela status que tem os campos

codigo (integer,11) e descricao (varchar,50)

o campo codigo é autoincremente, já o campo estatus na outra tabela quando vou marcar as opões

not null e unsigned para criar a chave estrangeira da a mensagem:

'Data Truncated for colunm'status' at row1'

Desde já obrigado!

Paz, amado.

Referente ao campo vlrCondominio, pode ser algum erro de formatação, no caso acho que pode ser a vírgula, no lugar da vírgula tente colocar um ponto, e veja se você conseguiu.

Fique na paz!

Link para o comentário
Compartilhar em outros sites

  • 0
Paz, amado.

Referente ao campo vlrCondominio, pode ser algum erro de formatação, no caso acho que pode ser a vírgula, no lugar da vírgula tente colocar um ponto, e veja se você conseguiu.

Fique na paz!

Já fiz isso, essa virgula é do componente EditNum, tenho um outro banco de dados que funiona normalmente com ele.

Não sei o que pode ter ocorrido! Ainda espero ajuda...

Link para o comentário
Compartilhar em outros sites

  • 0
Eu uso a ferramenta grafica EMS for mysql, quando digito o valor diretamente nela ou altero o valor funciona perfeitamente.

O problema ésta no frontend. Quando digito no formulário ai da a mensagem de erro.

Como o problema não está relacionado diretamente ao MySQL, solicito que você informe a ferramenta de programação que você usa para que eu possa transferir este tópico para a área correta.

Link para o comentário
Compartilhar em outros sites

  • 0
Eu uso a ferramenta grafica EMS for mysql, quando digito o valor diretamente nela ou altero o valor funciona perfeitamente.

O problema ésta no frontend. Quando digito no formulário ai da a mensagem de erro.

Como o problema não está relacionado diretamente ao MySQL, solicito que você informe a ferramenta de programação que você usa para que eu possa transferir este tópico para a área correta.

Este tópico eu postei no forum Delphi/Kylix e não tive sucesso.

Estou usando Delphi, conexão dbexpress, mysq 5.0.77

Link para o comentário
Compartilhar em outros sites

  • 0
Opa, faz o seguinte, no lugar do editnum coloque um DBEdit, e link-o no field correspondente.

Já no Campo Status tente apaga-lo, e crio-o novamente, porem já coloque todas as configurações que necessita.

Abraços

1 - Mas como faço para configura o campo no formato R$ 60,35 ou apenas 60,35?

2 - Na minha procedure grava (enviar os dados para o banco) devo referenciar desta forma:

DM.Q_Condominio.Fieldbyname('vlrCondominio').values := strToFloat(DBEdit1.text); ?

3- O campo no banco de dados eu formatei como Double(9,2) posso deixar assim mesmo?

Obrigado!

Link para o comentário
Compartilhar em outros sites

  • 0
1 - Mas como faço para configura o campo no formato R$ 60,35 ou apenas 60,35?

2 - Na minha procedure grava (enviar os dados para o banco) devo referenciar desta forma:

DM.Q_Condominio.Fieldbyname('vlrCondominio').values := strToFloat(DBEdit1.text); ?

3- O campo no banco de dados eu formatei como Double(9,2) posso deixar assim mesmo?

na aplicação, se fosse EU, utilizaria um edit normal, com um evento no OnKeyPress para receber apenas números e a vírgula. E depois, na gravação do parâmetro, eu utilizaria:

DM.Q_Condominio.Fieldbyname('vlrCondominio').AsFloat := strToFloat(Edit1.text);

E quanto ao banco, pode deixar assim mesmo.

Qualquer dúvida, poste aí.

Link para o comentário
Compartilhar em outros sites

  • 0
1 - Mas como faço para configura o campo no formato R$ 60,35 ou apenas 60,35?

2 - Na minha procedure grava (enviar os dados para o banco) devo referenciar desta forma:

DM.Q_Condominio.Fieldbyname('vlrCondominio').values := strToFloat(DBEdit1.text); ?

3- O campo no banco de dados eu formatei como Double(9,2) posso deixar assim mesmo?

na aplicação, se fosse EU, utilizaria um edit normal, com um evento no OnKeyPress para receber apenas números e a vírgula. E depois, na gravação do parâmetro, eu utilizaria:

DM.Q_Condominio.Fieldbyname('vlrCondominio').AsFloat := strToFloat(Edit1.text);

E quanto ao banco, pode deixar assim mesmo.

Qualquer dúvida, poste aí.

Calega, nada!

Coloquei o TEdit e coloquei um DBEdit, e deu a mensagem de erro:

'Data Truncated for colunm'precocondominio' at row1'

Quando gravo direto no banco de dados não da este problema, mas quando mando gravar do

formulário aparece esta mensagem.

alguém sabe como resolver isso?

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,7k
×
×
  • Criar Novo...