Acceder

Ver la Versión Completa : [ CONSULTA ] Problemas con Select en SQLite.


chucky1958
05/05/14, 23:18:23
Buenas noches a todos.
Acabo de darme de alta en el foro, por lo que os ruego me disculpéis si pregunto o publico algo donde no debo.
Gracias.

Estoy intentando hacer una pequeña aplicación (Lista de la compra), después de haber hecho un curso por Internet en la UPV de Android, únicamente para ver si aprendí algo, no con intención de subirla al Market, pues creo que no daría la talla aún.

Tengo experiencia en programación, pero NO en Android.

Os expongo los problemas en concreto (los pongo juntos, pues creo que es algo que no tengo claro de SQLite, y posiblemente sea el mismo error):

1.- No actualiza correctamente una tabla:

Tengo una tabla en la que intento intercalar un registro, y por tanto desplazar los siguientes, pero me graba todo con el valor último.

He puesto Log's en las Select's y yo las veo correctas, pero algo debo hacer mal pues no me actualiza correctamente.

El código es...

http://subefotos.com/ver/?45471469d52c0ba5a9e49963a32b96a6o.png

Los Log's muestran...

SELECT * FROM tbCentrosSecciones WHERE idcentro = 1 AND ordenlista >= 2 ORDER BY ordenlista

Lo dejo en un "Cursor" y voy leyendo uno a uno.

UPDATE tbCentrosSecciones SET ordenlista = 3 WHERE idcentro = 1 AND ordenlista = 2
UPDATE tbCentrosSecciones SET ordenlista = 4 WHERE idcentro = 1 AND ordenlista = 3
UPDATE tbCentrosSecciones SET ordenlista = 5 WHERE idcentro = 1 AND ordenlista = 4
UPDATE tbCentrosSecciones SET ordenlista = 6 WHERE idcentro = 1 AND ordenlista = 5

y como resultado:

http://subefotos.com/ver/?c02c7ebec722d2063a7132931ed50e25o.png

------

2.- No encuentra un registro que con seguridad existe:

Tengo un registro en el ListView que quiero llamar para editarlo (en el resto de la App me lo hace correctamente), aunque es cierto que ésta es una tabla de trabajo que se llena y vacía cuando se llama ésta opción.

El ListiVew desde el que se llama a la edición es éste:

http://subefotos.com/ver/?bbacd6cd5419dda83be98a99776e22a9o.png

El código es éste:

http://subefotos.com/ver/?0004b335b9ef5ccb3f4305e9c4fe94b7o.png

Y los Log's que he puesto, muestran:

idLin recibido: 7
Select: SELECT * FROM tbComprasW WHERE _id = 7
Cagada pastoret: 7

Perdón por lo de "Cagada pastoret", je je.

Si alguien me puede ayudar, le estaría muy agradecido.

Gracias, perdonar por la "parrafada" y buenas noches.

Carlos.

chucky1958
06/05/14, 11:39:44
El punto número 1 ya lo solucioné.
En lugar de hacer "update" con los registros, los borro y luego hago "insert" de ellos desde el "Cursor".
Obtengo lo que pretendía, pero NO me gusta, pues sigo sin saber porqué no actualizaba los registros, con una "select" que creo estaba correcta.
Saludos.

ctkd17
07/05/14, 10:44:57
Muy buenas,

¿Cómo has definido la asignación de los ID's? SQLite no admite la definición de variables tipo serial- ¿Puede ser que estes usando definiciones de este tipo?

Si es así aquí tienes una solución:

http://stackoverflow.com/questions/19726028/sqlite3-serial-type-wasnt-incremented

Un saludo!!!