Spanish Ayuda con Query

dhernandez

Active Member
Licensed User
Buenos dias colegas, aquí de nuevo reportandome para otra pregunta hacia ustedes.
Estoy realizando una Aplicacion para mi android.
hasta el momento, todo va perfecto, guardo los datos en el telefono en una Base de datos SQLite, tambien tengo la opcion de enviar directamente los datos auna base de datos Remota(MySQL), todo lo hace perfecto... pero...
cómo le hago para hacer una consulta, seleccionar los datos del SQLite, agregarlo en una variable y despues enviarlo directamente a mi base de datos remota???
Lo que quiero es extraer de SQLite y enviar a MySQL...?
Lo estaba realizando de esta manera, pero me marcaba error.

B4X:
Sub DATOSID
Dim IDCARTUCHO, IDUSUARIO as string
    IDCARTUCHO=SQL1.ExecQuery("SELECT id_cartucho from cartuchos")
End Sub
Sub DATOSUSUARIO
    USUARIOCARTUCHO=SQL1.ExecQuery("SELECT usuario_cartucho from cartuchos")
End Sub
Sub Activity_Pause (UserClosed As Boolean)

End Sub
Sub Enviar_Click
    If TxtID.Text="" OR TxtTipo.Text="" OR TxtStock.Text="" OR TxtModelo.Text="" OR  TxtUsuario.Text="" Then
        Msgbox("No puede introducir espacios en Blanco","Alerta")
            TxtID.Requestfocus
    Else
        ExecuteRemoteQuery("INSERT INTO cartuchos(ID_Cartucho, tipo_cartucho, modelo_cartucho, stock_cartucho, usuario_cartucho) VALUES('"& DATOSID &"','"& DATOSTIPO &"','"& DATOSMODELO &"','"& DATOSSTOCK &"','"& DATOSUSUARIO &"')",MODELO_LISTA)
        'EjecutarConsulta
        TxtID.Text=""
        TxtTipo.Text=""
        TxtStock.Text=""
        TxtModelo.Text=""
        TxtUsuario.Text=""
        TxtID.RequestFocus
    End If
   
End Sub

De antemano muchas gracias...
 

dar2o3

Active Member
Licensed User
Buenos días, sin mirar nada mas que el código que has puesto de momento veo que pones algo así como
VALUES('"& DATOSID &"', pones comillas simples ' cuando entiendo que es un campo entero, no se si puede ser ese el error.
 

Descartex

Well-Known Member
Licensed User
Prueba con el metodo ExecuteQuerySingleResult
Estas intentando meter en un string una lista de resultados. prueba con uno solo.
 

Heppy

Active Member
Licensed User
Hola, como bien comenta josete hay que emplear cursor.

B4X:
Sub Process_Globals
    Dim sqlCM As SQL
    Dim x As Cursor
End Sub


En otra rutina por ejemplo. Table1 es una clase que me descargué del foro.

  If sqlCM.IsInitialized=False Then sqlCM.Initialize(File.DirInternal,"CM.db",True)
  x = sqlCM.ExecQuery("SELECT * FROM CM where NAME like '%"&ECM.Text&"%'")
  If x.RowCount>0 Then 
    Table1.Initialize(Me, "Table1", 5)
    Table1.AddToActivity(Activity,0,0,100%x,100%y)
    Table1.SetHeader(Array As String("ID", "Código", "Situación", "Latitud","Longitud"))
  End If
  Table1.SetColumnsWidths(Array As Int(40dip, 70dip,350dip, 100dip,100dip))
  For i = 0 To x.RowCount-1
    x.Position=i
    Table1.AddRow(Array As String(x.GetInt2(0),x.GetString2(1),x.GetString2(2),x.GetDouble2(3),x.GetDouble2(4)))
  Next
 
Top