entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

3votos

Duda de insercción de datos en SQLite desde Android

Que tal, aquí les molesto otra vez para preguntar como se hace la insercción de datos de tipo Booleanos a SQLite.
Solo aclaro que uso ORMDao para el manejo de SQLite.

UserORM box = new UserORM();
    box.setId(5L); 
    box.setNombre("Usuario");
    box.setUsuario("prueba");
    box.setTotal_score(1900);
    box.setContrasena("123qwe");
    box.setEsta_autenticado(); //-->Este dato es booleano ._.
    ModeloUsuarioORM.insertOrUpdate(jadeApplication.getAppContext(), box);

Y este es el mensaje de LogCat:

    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.jade.jade_log/com.jade.jade_log.MainActivity}: android.database.sqlite.SQLiteException: table USER_ORM has no column named ESTA_AUTENTICADO (code 1): , while compiling: INSERT OR REPLACE INTO USER_ORM ('_id','NOMBRE','TOTAL_SCORE','USUARIO','CONTRASENA','ESTA_AUTENTICADO') VALUES (?,?,?,?,?,?)

1 Respuesta

3votos

white Puntos75880

Sqlite no dispone de un tipo booleano, debes usar un integro

1: verdadero
0: falso

1.1 Boolean Datatype
SQLite does not have a separate Boolean storage class. Instead, Boolean values are stored as integers 0 (false) and 1 (true).

https://www.sqlite.org/datatype3.html

por lo que setEsta_autenticado() debe definir un integro ( 1 || 0 ) o el campo de la clase debe devolver un integro.

tu columna ESTA_AUTENTICADO puede ser de tipo TINYINT(1)

PD: para estar seguro, podrias agregar el codigo donde defines el campo Esta_autenticado de tu clase UserORM? y el código de setEsta_autenticado()?

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta