Spanish [SOLUCIONADO]Consulta sobre UPDATE SQLite

ferpahud

Active Member
Licensed User
Hola buenos dias,

Quería realizar una consulta sobre UPDATE en SQLite, resulta que tengo la siguiente función:

B4X:
Sub aplicarDescuento(descuentoPorcentaje As Int, idM As Int)
    Dim cDescuento As Cursor
    Dim precioActual As Float
    Dim nuevoPrecio As Float
    nuevoPrecio=0
    Dim idDetalle As Int
    Dim cursorPrueba As Cursor
    Dim idPrueba As Int
    Dim idPrueba2 As Int
   
    cDescuento=s.ExecQuery("SELECT * FROM DetallePedido WHERE DetallePedido.idPedido = '" & idM & "' AND DetallePedido.descuento=0")
    If cDescuento.ColumnCount>0 Then
    For j=0 To cDescuento.RowCount-1
        cDescuento.Position=j
        precioActual = cDescuento.GetString("precio")
        nuevoPrecio = (precioActual - (precioActual*descuentoPorcentaje/100))
        idDetalle = cDescuento.GetString("idDetallePedido")
        s.ExecQuery("UPDATE DetallePedido SET precio='" & nuevoPrecio & "' WHERE idDetallePedido ='" & idDetalle & "'")
       
    Next
    End If
End Sub

En esta funcion se aplica un descuento a los detalles que tienen "descuento=0", para eso le paso el id del pedido donde se encuentran los detalles, y el porcentaje de descuento a aplicar.

Fui revisando todo, y el cursor toma la cantidad de elementos correctos, el descuento se calcula de forma correcta, el idDetallePedido es correcto, todo esta bien, pero a la hora de hacer el UPDATE no se actualiza el registro con el nuevo precio.

Ya probe la sentencia SQL y si funciona, pero no puedo entender porque en mi base de datos no actualiza....

Si alguno me puede ayudar o guiar se lo agradezco

Muchas gracias por su tiempo, saludos!
 

rscheel

Well-Known Member
Licensed User
Longtime User
El update se realiza de la siguiente manera

B4X:
s.ExecNonQuery2("UPDATE DetallePedido SET precio = ? WHERE idDetallePedido = '" & idDetalle & "'", Array As Object(nuevoPrecio))
 

ferpahud

Active Member
Licensed User
Perfecto, ahora si.

Muchas gracias por tu ayuda!
 
Cookies are required to use this site. You must accept them to continue using the site. Learn more…