Avisos

Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android

Respuesta
 
Herramientas
  #1  
Viejo 20/05/13, 21:31:52
Array

[xs_avatar]
Rockero_79 Rockero_79 no está en línea
Usuario muy activo
 
Fecha de registro: abr 2012
Mensajes: 3,690
Modelo de smartphone: Realme GT Neo 2
Tu operador: Jazztel
duda query en SQLITE

Buenas noches

Que tal gente?bueno soy nuevo esto de la programación android y tengo una duda sobre un fallo que me esta dando

Esta al hacer una query en la que comparo en el where con una campo text
os lo pongo

public String getDb(String j) {

String[]columns = new String[]{ID_ROW,VALUE,REASON};

Cursor c = nBD.query(N_TABLE, columns, REASON+" = ' "+j+" '",null, null, null, null);

if (c.moveToFirst()) {
c.moveToFirst();
String ver = c.getString(1).toString();
return ver;
}
return "vacio";

}
La verdad es que me estoy volviendo loco porque si comparo con un campo id de tipo"int" que tengo en la tabla no me da ningún problema.
He probado de 3 o 4 formas y nada, por ejemplo

public String getDb(String j) {

String[]columns = new String[]{ID_ROW,VALUE,REASON};
String[]args = new String[]{j};
String sel = "REASON like ?";
Cursor c = nBD.query(N_TABLE, columns, sel,args, null, null, null);

if (c.moveToFirst()) {
c.moveToFirst();
String ver = c.getString(1).toString();
return ver;
}
return "vacio";

}
Y tampoco...
¿Alquien me dice que hago mal?

Gracias
Responder Con Cita


  #2  
Viejo 20/05/13, 22:06:05
Array

[xs_avatar]
mocelet mocelet no está en línea
Desarrollador
 
Fecha de registro: may 2011
Localización: Madrid
Mensajes: 2,203
Tu operador: -

¿Y qué fallo te da? Normalmente el error hasta te dice qué parte de la query está mal
__________________
El mejor Cuatro en Raya de Android (Hilo en HTCMania, Play Store) ¡Un millón de descargas!
Responder Con Cita
  #3  
Viejo 20/05/13, 22:24:36
Array

[xs_avatar]
Rockero_79 Rockero_79 no está en línea
Usuario muy activo
 
Fecha de registro: abr 2012
Mensajes: 3,690
Modelo de smartphone: Realme GT Neo 2
Tu operador: Jazztel
 Cita: Originalmente Escrito por mocelet Ver Mensaje
¿Y qué fallo te da? Normalmente el error hasta te dice qué parte de la query está mal
Me da un error y se cierra la aplicación luego pongo el texto pero de la query no pone nada eso seguro, ya te digo si comparó con otra campo de la tabla que es numérico va bien, el fallo tiene que estar en la forma de igualar el campo con la variable "j"
Responder Con Cita
  #4  
Viejo 20/05/13, 22:27:21
Array

[xs_avatar]
mocelet mocelet no está en línea
Desarrollador
 
Fecha de registro: may 2011
Localización: Madrid
Mensajes: 2,203
Tu operador: -

Vale, se cierra la aplicación, ¿y cuál es el error que te da? Mira en la consola de texto (bueno, en la pestaña LogCat) qué excepción sale, ¿es una NullPointerException? ¿una SQLiteException? Te dirá la línea del código donde se fuerza el cierre.
__________________
El mejor Cuatro en Raya de Android (Hilo en HTCMania, Play Store) ¡Un millón de descargas!
Responder Con Cita
Gracias de parte de:
  #5  
Viejo 21/05/13, 08:24:53
Array

[xs_avatar]
providez providez no está en línea
Miembro del foro
· Votos compra/venta: (2)
 
Fecha de registro: may 2009
Mensajes: 210
Modelo de smartphone: Moto G / Motorola Xoom
Tu operador: Pepephone
En SQL los campos de tipo TEXT tendrás que compararlos con un valor entre comillas simples (y sin espacios por los lados como en esto que tienes puesto en el primer ejemplo ' "+j+" '"), y los numéricos sin esas comillas. Mira a ver si tiene que ver algo con eso.
Responder Con Cita
  #6  
Viejo 21/05/13, 15:54:11
Array

[xs_avatar]
Rockero_79 Rockero_79 no está en línea
Usuario muy activo
 
Fecha de registro: abr 2012
Mensajes: 3,690
Modelo de smartphone: Realme GT Neo 2
Tu operador: Jazztel
 Cita: Originalmente Escrito por providez Ver Mensaje
En SQL los campos de tipo TEXT tendrás que compararlos con un valor entre comillas simples (y sin espacios por los lados como en esto que tienes puesto en el primer ejemplo ' "+j+" '"), y los numéricos sin esas comillas. Mira a ver si tiene que ver algo con eso.
Lo tengo así puesto no? Ahhh le sobran los espacios quieres decirme así '"+j+"'"?

Última edición por Rockero_79 Día 21/05/13 a las 15:56:38.
Responder Con Cita
  #7  
Viejo 21/05/13, 16:01:54
Array

[xs_avatar]
providez providez no está en línea
Miembro del foro
· Votos compra/venta: (2)
 
Fecha de registro: may 2009
Mensajes: 210
Modelo de smartphone: Moto G / Motorola Xoom
Tu operador: Pepephone
 Cita: Originalmente Escrito por Rockero_79 Ver Mensaje
Lo tengo así puesto no? Ahhh le sobran los espacios quieres decirme así '"+j+"'"?
eso es, no es lo mismo TEXTO = ' hola ' que TEXTO = 'hola'.

Por otra parte, lo que ya te han preguntado, que error te dice el Logcat?
Responder Con Cita
  #8  
Viejo 21/05/13, 17:52:35
Array

[xs_avatar]
Rockero_79 Rockero_79 no está en línea
Usuario muy activo
 
Fecha de registro: abr 2012
Mensajes: 3,690
Modelo de smartphone: Realme GT Neo 2
Tu operador: Jazztel
 Cita: Originalmente Escrito por providez Ver Mensaje
eso es, no es lo mismo TEXTO = ' hola ' que TEXTO = 'hola'.

Por otra parte, lo que ya te han preguntado, que error te dice el Logcat?
despues de volverme loco ya lo he resuelto, no se si era por los espacios o que pero ya esta...

hay alguna forma de limpiar el logcat?
Responder Con Cita
Respuesta

Estás aquí
Regresar   Portal | Indice > Todo sobre Android > Programación y Desarrollo para Android



Hora actual: 16:09:27 (GMT +1)



User Alert System provided by Advanced User Tagging (Lite) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.

Contactar por correo / Contact by mail / 邮件联系 /