En otro post que abrí se comentó la forma de actualizar una tabla pero pasando como referencia todos los campos de la tabla. Ahora me veo en la necesidad de que en una tabla de un sólo registro, ya que son variables y constantes almacenadas en ella, actualizar sólo un campo.
SQueryServiciosReducidos es una variable global de tipo string
B4X:
Sub Activity_Pause (UserClosed As Boolean)
SQLVariables.ExecNonQuery("UPDATE Variables set QueryServiciosReducidos ='"& SQueryServiciosReducidos & "'")
End Sub
Hola,
yo lo hago de esta forma:
DB.ExecNonQuery2("Update Param set CtaBoleto = ? ",Array As Object(Main.CtaBoleto))
asi si tienes mas de un campo a actualizar
DB.ExecNonQuery2("Update Cierre set Estado = ?,Ultimo = ?, Cantidad = ?, Total = ? where Estado = 'Abierto'",Array As Object("Cerrado",Main.CtaBoleto,Label5.Text,Label6.Text))
La sentencia Sql es correcta, pero veo que lo tienes puesto en un Activity_Pause, y no veo el SQLVariables.Close, prueba de cerrar la base de datos, a mi me ha dado mas de un problema no hacerlo.
Al final la sentencia era correcta. El problema se soluciona tal y comenta vampirbcn, cerrarando la base de datos. Muchas gracias a todos por vuestra ayuda. vampirbcn ya te debo no se cuantas cañas!! Se echa de menos un comando tipo refresh.
Parece ser que si no pones la cláusula where afectaría a todos los registros de la tabla copiando en los mismos el mismo valor. Al ser una tabla con un sólo registro no hay problema.