Spanish [SOLUCIONADO] CONSULTA JRC2

RAFA BRAVO

Active Member
Licensed User
Longtime User
Hago la siguiente pregunta, si hago esta consulta:
B4A:
Sub consulta (c1k As Int, estado As String)
'    EN ESTA RUTINA CONSULTAMYSQL PARA COMPROBAR SI ALGUN CAMPO ESTA A 0
    Dim req As DBRequestManager = CreateRequest
    Dim cmd As DBCommand = CreateCommand("existeRegistro", Array(c1k, estado))
    Wait For (req.ExecuteQuery(cmd, 0, Null)) JobDone(j As HttpJob)
    If j.Success Then
        req.HandleJobAsync(j, "req")
        Wait For (req) req_Result(res As DBResult)
        'work with result
        req.PrintTable(res)
'        Log(res.Columns)
        For Each row() As Object In res.Rows
            item_id = row(0)
        Next
    Else
        Log("ERROR: " & j.ErrorMessage)
    End If
    j.Release
End Sub

en config del servidor tengo esta consulta mysql:
mysql:
sql.existeRegistro=select * from inspeccion  where C1KUGAsec  =?  AND estado =?

y esta la llamada al evento:
b4a:
consulta (0,"abierto")

necesito que la consulta se cumpla cuando el valor de la variable estado sea "abierto" o cunado sea "revision", como podría hacerlo?

esto no funciona:
b4a:
consulta (0,"abierto" Or "revision")

Gracias.
 

josejad

Expert
Licensed User
Longtime User
Hola:

Tendrías que cambiar la consulta en config.properties a:

B4X:
sql.existeRegistro=select * from inspeccion  where C1KUGAsec  =?  AND estado =? OR estado=?

Y llamarla con:
B4X:
consulta (0,"abierto", "revision")

Si el segundo estado es siempre revisión, pues puedes hacer la llamada igual que la haces ahora y poner la consulta como:
B4X:
sql.existeRegistro=select * from inspeccion  where C1KUGAsec  =?  AND estado =? OR estado='revision'

saludos,
 

IdasI4A

Active Member
Licensed User
Longtime User
Podrías probar a utilizar en vez del = el in, osea
B4X:
sql.existeRegistro=select * from inspeccion  where C1KUGAsec  =?  AND estado in (?)
y la llamada sería
B4X:
consulta (0,"'abierto','revision'")
Quizás funcione
 
Top