Spanish Sqlite y b4a

Solinteg

Member
Licensed User
Longtime User
Hola, soy nueva en esto y tengo un problema que es el siguiente:

La aplicación que estoy tratando de hacer recoge datos de un archivo XML y los inserta en una base sqlite. El problema se me presenta al momento de insertar los datos; me lanza un error diciendo que no encuentra la tabla a la que hago referencia.

Les dejo mi código a ver si me pueden dar una mano... Gracias.

B4X:
Sub Activity_Create(FirstTime As Boolean)
   Activity.LoadLayout("Main")
   If File.Exists(File.DirRootExternal,"Usuarios") = False Then
      File.Copy(File.DirAssets, "Usuarios", File.DirRootExternal, "Usuarios")
   End If
   dbsql.Initialize(File.DirRootExternal, "Usuarios", True)
   parser.Initialize
   Dim In As InputStream
   In = File.OpenInput(File.DirAssets, "prueba.xml")
   parser.Parse(In, "parser")
   In.Close 
End Sub


Sub Parser_EndElement (Uri As String, Name As String, Text As StringBuilder)
   dbsql.ExecNonQuery2("INSERT INTO user VALUES(3,?,?,?,?)", Array As Object('nom','ape','ci','sx'))
      Msgbox("Ingresados","OK")
   End If
End Sub
 

Solinteg

Member
Licensed User
Longtime User
Tanto la base de datos como la tabla la cree mediante "SQLite Database Browser", y la agregue al proyecto con el file manager.
 

jjmairena

Member
Licensed User
Longtime User
Hola, soy nueva en esto y tengo un problema que es el siguiente:

La aplicación que estoy tratando de hacer recoge datos de un archivo XML y los inserta en una base sqlite. El problema se me presenta al momento de insertar los datos; me lanza un error diciendo que no encuentra la tabla a la que hago referencia.

Les dejo mi código a ver si me pueden dar una mano... Gracias.

B4X:
Sub Activity_Create(FirstTime As Boolean)
   Activity.LoadLayout("Main")
   If File.Exists(File.DirRootExternal,"Usuarios") = False Then
      File.Copy(File.DirAssets, "Usuarios", File.DirRootExternal, "Usuarios")
   End If
   dbsql.Initialize(File.DirRootExternal, "Usuarios", True)
   parser.Initialize
   Dim In As InputStream
   In = File.OpenInput(File.DirAssets, "prueba.xml")
   parser.Parse(In, "parser")
   In.Close 
End Sub


Sub Parser_EndElement (Uri As String, Name As String, Text As StringBuilder)
   dbsql.ExecNonQuery2("INSERT INTO user VALUES(3,?,?,?,?)", Array As Object('nom','ape','ci','sx'))
      Msgbox("Ingresados","OK")
   End If
End Sub

Holaaaaaaaa, creo que el problema esta en la sentencia sql deberia ir asi

base_de_datos.ExecNonQuery2 ("INSERT INTO Tabla VALUES (?,?)", Array As Object ( variable,Variable))

osea en tu codigo veo que tienes un "VALUES(3"; asi que cambialo por esto "VALUES(?," y prueba
 

Solinteg

Member
Licensed User
Longtime User
Hola y gracias por responder, en realidad fue el emulador en el que estaba probando :BangHead: , creo que tenia que ver con la versión del Android :icon_clap: ... por lo que ya funciona... pero muchas gracias por su ayuda :D
 
Top