- Se agregaron las columnas para ruta y almacen en el cuestionario

- Se corrigió el query que envia el cuestionario a Intmex (antes lo mandaba a Durakelo)
This commit is contained in:
2024-02-23 19:23:22 -06:00
parent 866024ab2d
commit c5b0278c8d
4 changed files with 32 additions and 36 deletions

View File

@@ -14,7 +14,7 @@ Sub Class_Globals
Private CallBack As Object 'ignore
Private vPreguntaActual As String
Private db As SQL
Private clienteAnt As String = ""
' Private clienteAnt As String = ""
Dim panelSombra As Panel 'Panel de sombra.
End Sub
@@ -25,7 +25,9 @@ Public Sub Initialize (vCallback As Object, vEventName As String, vRoot As B4XVi
CallBack = vCallback
db = skmt
vPreguntaActual = 0
db.ExecNonQuery("CREATE TABLE IF NOT EXISTS CUESTIONARIO (Q_IDCLIENTE TEXT, Q_IDPREGUNTA TEXT, Q_PREGUNTA TEXT, Q_IDRESPUESTA TEXT, Q_RESPUESTA TEXT, Q_FECHA TEXT, Q_ENVIO_OK INTEGER DEFAULT 0)")
db.ExecNonQuery("CREATE TABLE IF NOT EXISTS CUESTIONARIO (Q_RUTA TEXT, Q_ALMACEN TEXT, Q_IDCLIENTE TEXT, Q_IDPREGUNTA TEXT, Q_PREGUNTA TEXT, Q_IDRESPUESTA TEXT, Q_RESPUESTA TEXT, Q_FECHA TEXT, Q_ENVIO_OK INTEGER DEFAULT 0)")
agregaColumna("CUESTIONARIO", "Q_RUTA", "TEXT")
agregaColumna("CUESTIONARIO", "Q_ALMACEN", "TEXT")
Return Me
End Sub
@@ -152,4 +154,25 @@ End Sub
'Oculta el anel de la pregunta.
Sub ocultPanelPregunta
If panelSombra.IsInitialized Then panelSombra.RemoveView
End Sub
'Agrega una columna a la tabla especificada.
'Hay que indicar el "tipo" de la columna (TEXT, INTEGER, ETC)
'Ej. agregaColumna("TABLA", "COLUMNA", "TIPO")
Sub agregaColumna(tabla As String, columna As String, tipo As String) 'ignore
Try 'Intentamos usar "pragma_table_info" para revisar si existe la columna en la tabla
Private c As Cursor = db.ExecQuery($"SELECT COUNT(*) AS fCol FROM pragma_table_info('${tabla}') WHERE name='${columna}'"$)
c.Position = 0
If c.GetString("fCol") = 0 Then 'Si no esta la columna la agregamos
db.ExecNonQuery($"ALTER TABLE ${tabla} ADD COLUMN ${columna} ${tipo}"$)
Log($"Columna "${columna} ${tipo}", agregada a "${tabla}"."$)
End If
Catch 'Si no funciona "pragma_table_info" lo hacemos con try/catch
Try
db.ExecNonQuery($"ALTER TABLE ${tabla} ADD COLUMN ${columna} ${tipo}"$)
Log($"Columna "${columna} ${tipo}", agregada a "${tabla}".."$)
Catch
Log(LastException)
End Try
End Try
End Sub