Problema em sistema com gravação de valor em MySQL
Olá Pessoal,
estou fazendo uma manutenção em um sistema e ao tentar alterar um valor de um campo aparece o seguinte erro na tela:
Microsoft Cursor Engine error '80040e38'
Row cannot be located for updating. Some values may have been changed since it was last read.
produtos_alterar.asp, line 125
Descobri que esse erro ocorre quando tento alterar um campo que fica gravado o valor. Esse campo é um FLOAT com length 10 e decimals 2.
Esse campo está sendo enviado ao banco pelo formulário como o seguinte valor 0,55.
O código ASP utilizado para gravar a informação é o seguinte:
Set ObjRs = Server.CreateObject("ADODB.Recordset")
Sql = "SELECT * FROM produtos WHERE id = " &Request.Form("id")
ObjRs.Open Sql, Conexao
If Request.Form("peso") <> "" Then
valor = Trim(Request.Form("peso"))
valor = Replace(valor,".","")
valor = Replace(valor,",",".")
If FormatNumber(Replace(Replace(FormataValor(ObjRs("peso")),".",""),",",".")) <> FormatNumber(valor) Then
ObjRs("peso") = valor
End If
End If
ObjRs.UpdateBatch
ObjRs.Close
Set ObjRs = Nothing
Antes de gravar o valor existe uma condição que faz o ajuste da virgula. Será que pode ser isso o erro?
Alguem tem alguma dica?
Discussão (5)
Carregando comentários...