Spanish [SOLUCIONADO] Problemas al guardar BD Sqlite

Discussion in 'Spanish Forum' started by desof, May 19, 2017.

  1. desof

    desof Well-Known Member Licensed User

    Hola amigos, tengo Este código Que al Parecer Funciona correctamente Por Que No me da ningun error pero como no veia los cambios reflejados en la BASE DE DATOS me fui al directorio con un gestor de archivos y note que me crea una Base de datos llamada igual pero con el subfijo -journal
    en mi Caso aparece una comercios.db-journal.

    Code:
    Sub btAgregar_Click

        Si Main.dbSQL.IsInitialized = 
    False Then
            Main.dbSQL.Initialize (
    File.DirDefaultExternal, "comercios.db"False)
        Terminara si

        Consulta privada como secuencia

        Consulta = 
    "INSERT INTO Rubros VALORES ( '" & txNombre.Text & " ''" & txRubro.Text & " ''" & txDetalle.Text & "')"
        Main.dbSQL.ExecNonQuery (consulta)

        txNombre.Text = 
    ""
        txRubro.Text = 
    ""
        txDetalle.Text = 
    ""
        
    MsgBox ( "Guardado""")
        
    Activity.Finish
    End Sub


    Por Que SUCEDE ESTO?

    [​IMG]
     
    Last edited: May 20, 2017 at 12:04 AM
  2. Gabriel Conti

    Gabriel Conti Member Licensed User

    Hola desof
    Te aclaro que no soy un experto, pero me parece que antes de los valores deberias indicar los nombres de columnas

    Consulta = "INSERT INTO Rubros (columna1, columna2, columna3)
    values ( '" & txNombre.Text & " ''" & txRubro.Text & " ''" & txDetalle.Text & "')"

    en cuanto al subfijo, a mi me aparece si consulto la base directamente sobre el teléfono. Es decir, conectado el teléfono con cable USB a la PC y realizo la visualización de los datos dentro de la tabla.

    Espero que ayude
     
  3. desof

    desof Well-Known Member Licensed User

    Yo estoy recién comenzando con Base de Datos y estuve viendo un ejemplo de EREL que se guardaba de esa a utiizando ExecNonQuery, si pongo como vos me decis me da error
     
  4. Gabriel Conti

    Gabriel Conti Member Licensed User

    te copio un trozo de código que hago lo que vos decis y me funciona perfecto

    Dim SQLINS As String
    SQLINS= "INSERT INTO mantenimiento (fecha,material,lugar,informe,codfoto)"
    SQLINS= SQLINS & " values ('" & Main.fecha & "', '" & mater & "', " & x_id & ", '" & TxtObser.Text & "', '" & Main.codfo & "')"
    Main.SQL1a.ExecNonQuery(SQLINS)
     
  5. Gabriel Conti

    Gabriel Conti Member Licensed User

    faltan las comas entre cada valor a insertar
     
  6. desof

    desof Well-Known Member Licensed User

    En que directorio tienes guardada la BD?

    TAMBIEN me funciona correcto !!! o sea sin errores pero no me lo guarda en la Base y me sigue creando es ...-journal
     
  7. dar2o3

    dar2o3 Active Member Licensed User

    El - journal es un archivo que crea y usa el motor de la base de datos sqlite para hacer transacciones y demás cosas internas, si lo borras Sqlite volverá a crearlo, no te preocupes por el, Dejalo como está asegúrate de cerrar la conexión con la bd cuando termines de usarla.
     
  8. Gabriel Conti

    Gabriel Conti Member Licensed User

    Bien!!!
    No se como consultas la base de datos.
    En un momento que estuve haciendo pruebas, el error que cometía, era muy elemental, cada vez que compilaba la app y la enviaba al teléfono, cargaba nuevamente la DB al teléfono, o sea la volvía a poner sin registros. Es decir, siempre insertaba la DB en blanco. Un error muy tonto, pero que me volvió loco bastante tiempo.
    La copia -journal yo muchas veces la tengo y no me ofrece demasiados inconvenientes. Si la borro, todo funciona lo más bien y si la dejo igual.
    Muchas veces para poder ver la DB en el telefono, he tenido que reiniciarlo.
    Ahora lo que hago es lo siguiente
    Conecto el Teléfono via USB a la PC. Copio la base al escritorio de la PC y consulto los registros a ver si me he hace lo esperado. Aunque si tengo el telefono conectado vía USB y estando en modo "Transferencia de Archivos" consulto directamente la DB en el telefono. Esto es lo que te digo que a mi me crea o supongo que me crea la -journal.
     
    desof likes this.
  9. Gabriel Conti

    Gabriel Conti Member Licensed User

    El último comentario de dar2o3 es muy importante. Gracias dar2o3
     
    desof likes this.
  10. desof

    desof Well-Known Member Licensed User

    @dar2o3 y @Gabriel Conti Muchas gracias a ambos, ya verifique y efectivamente lo escribe en la BD solo que debo ver como actualizar su contenido para que se refleje de inmediato...
    Hay algo como Refresh ? o debo cerrar con Bd.Close y abrirla de nuevo ?
     
  11. Gabriel Conti

    Gabriel Conti Member Licensed User

    Hola DeSof, no comprendo muy bien tu ultima consulta.
    El contenido está almacenado en la DB, si vos queres mostrar la información en un listview o en varios editext, en cualquier otro lugar, deberías, abrir nuevamente la conexión, luego hacer un select del registro que estas pretendiendo mostrar.
     
    desof likes this.
  12. desof

    desof Well-Known Member Licensed User

    SI Efectivamente se esta mostrando en un CustomListView y tenia dificultades para actualizar la vista pero ya logré hacerlo hoy!

    Gracias por tu apoyo!!!
     
Loading...