¿Cómo obtener el valor de la columna desde el cursor sqlite?

Estoy tratando de obtener el valor de la columna de un cursor, esta columna se genera en tiempo de ejecución por los cálculos dentro de la consulta, estoy recibiendo un valor nulo de esta columna, soy capaz de obtener un valor de todas las otras columnas que existe en la tabla SQLite .

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

¿Por qué dar valor nulo cuando lo estoy recuperando desde el cursor?

Muy simple usted puede conseguirlo por cualquiera de 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 

Los nombres de columna de cursor son sensibles a mayúsculas y minúsculas, asegúrese de que coincida con el caso especificado en el nombre de alias db o column

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

    Definir constante para todos los campos de la tabla por lo que es fácil obtener el nombre del campo no es necesario verificar su hechizo

    Crear la clase Database Costant con el nombre "DBConstant.java" y definir los 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 (nombre de campo); Devuelve índice de columna de campo en la instrucción select cursor.getString (índice de columna). Devuelve el valor que está en esa columna

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

    Cursor.getString (0);

  • ¿Cómo puede obtener la parte superior de los registros de GreenDAO?
  • Qué sucede con una base de datos Sqlite cuando se quita la aplicación
  • SQLite Android: parámetro nullColumnHack en los métodos insert / replace
  • android sqlite excepción: java.lang.IllegalArgumentException: columna '_id' no existe
  • Cómo implementar herencia de tabla en GreenDao
  • Base de datos de SQLite de SQL, bloqueo y versión
  • Net.sqlcipher.database.SQLiteException: no es un error:
  • SQLite de repente considera todo como no un error
  • SQLiteException: no se puede iniciar una transacción dentro de una transacción (código 1)
  • Consulta SQLite muy lenta en Android
  • SQLite Context.MODE_PRIVATE
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.