UPDATE [ RETIRADA DO ESTOQUE ]

 Tópico anterior Próximo tópico Novo tópico

UPDATE [ RETIRADA DO ESTOQUE ]

C#

 Compartilhe  Compartilhe  Compartilhe
#482071 - 02/06/2018 13:17:31

MOREIRA
SAO LUIS - TURU
Cadast. em:Agosto/2004


Boa tarde, ao tentar retirar uma quantidade usando fração ou até mesmo quantidade inteira.

retorna esse erro
System.Data.SqlClient.SqlException: 'Erro ao converter tipo de dados varchar em numeric.'

exemplo concatenei Qtd
tipo de dados decimal
e nada.

tentei converter em string e retornar em decimai e nada..

agora se colocar um número fixo tipo 5, 6.. passa

e colocar fração aí dar zebra, não passa.

seque o código


  SqlCommand Cmd = new SqlCommand("UPDATE PRODUTO set saldo_estoque = saldo_estoque - '" + Qtd + "' WHERE PCODIGO = @PCODIGO", Cnn);
                                    Cmd.Parameters.AddWithValue("@saldo_estoque", quantidade);
                                    Cmd.Parameters.AddWithValue("@PCODIGO", cod_produto);
                                    Cmd.ExecuteNonQuery();


Eu não nasci, fui Compilado

#482073 - 02/06/2018 15:53:30

NICKOSOFT
SANTO ANDRE
Cadast. em:Maio/2009


Última edição em 02/06/2018 15:54:42 por NICKOSOFT

se são valores, o ideal é ser tudo numérico e do mesmo tipo, se vai ter fração crie a tabela com o campo decimal (x,2) (numero de casas a esquerda e esse 2 seria o decimal, ai vai da sua necessidade......
execute as operacoes com double tanto no q esta no bd como o valor a atualizar....




Resposta escolhida #482074 - 02/06/2018 17:17:30

MARCOSLING
SAO PAULO
Cadast. em:Agosto/2008


Não use concatenação... coloque todos os valores parametrizados.



#482078 - 02/06/2018 20:47:26

MOREIRA
SAO LUIS - TURU
Cadast. em:Agosto/2004


Citação:
:
Não use concatenação... coloque todos os valores parametrizados.


SqlCommand Cmd = new SqlCommand("UPDATE PRODUTO set saldo_estoque = saldo_estoque - @SAIDA WHERE PCODIGO = @PCODIGO", Cnn);
                                    Cmd.Parameters.AddWithValue("@saldo_estoque", quantidade);
                                    Cmd.Parameters.AddWithValue("@SAIDA", quantidade);
                                    Cmd.Parameters.AddWithValue("@PCODIGO", cod_produto);
                                    Cmd.ExecuteNonQuery();

Eu não nasci, fui Compilado

 Tópico anterior Próximo tópico Novo tópico


Tópico encerrado, respostas não sao permitidas
Encerrado por MOREIRA em 02/06/2018 20:47:48