2012-02-23 24 views
17

Estoy tratando de obtener valor de columna de un cursor, esta columna se genera en tiempo de ejecución mediante cálculos dentro de la consulta, obtengo un valor nulo de esta columna, puedo obtener un valor de todas las otras columnas que existen en Tabla de SQLite¿Cómo obtener el valor de columna del cursor sqlite?

Ejecuto la misma consulta en el editor SQLite, también muestra el valor de la columna generada en el conjunto de resultados.

¿Por qué esto da valor nulo cuando lo estoy recuperando del cursor?

+2

favor proporcionar el código que se utiliza para consultar y recuperar los valores de columna. –

+0

@Chandrapal Yadav: ¿está seguro de que está incluyendo esa columna cuando activa la consulta? ¡no se lo pierda! – Hiral

+0

tratar de mirar en este enlace .. utilizando el método de consulta .. http://stackoverflow.com/questions/10600670/sqlitedatabase-query-method – Michimcchicken

Respuesta

56

muy simple se puede conseguir por cualquiera de las siguiente manera

String id = cursor.getString(cursor.getColumnIndex("id")); // id is column name in db 

o

String id = cursor.getString(cursor.getColumnIndex(0)); // id is first column in db 
+1

Lo que es del cursor en este ejemplo? –

3

nombres de columna del cursor son mayúsculas y minúsculas, asegúrese de hacer coincidir el caso especificado en el PP o columna de alias nombre

2
  1. Si no sabe el índice de la columna en la consulta de selección, siga esto,

    Definir constante para todos los campos de la mesa, así que es fácil de obtener el nombre de campo que no es necesario para verificar su hechizo

    crear la clase Costant base de datos con el nombre "DBConstant.java" y definir campos de la tabla

    public static final String ID = "id";

    A continuación, obtener el valor del cursor,

    cursor.getString (cursor.getColumnIndex (DBConstant.ID));

    cursor.getColumnIndex (field name); devuelve el índice de columna de campo en la instrucción de selección cursor.getString (índice de columna). se devuelve el valor que se encuentra en esa columna

  2. Si conoces índice de columna en su consulta de selección,

    cursor.getString (0);

Cuestiones relacionadas