por la documentación de SQLite (http://www.sqlite.org/datatype3.html) columnas en SQLite no tienen un tipo de datos - los valores en las columnas hacen.
Cualquier columna en una base de datos SQLite versión 3, excepto una columna INTEGER PRIMARY KEY, se puede usar para almacenar un valor de cualquier clase de almacenamiento.
Si está usando API de nivel 11 o superior, entonces el cursor apoya getType()
(ver http://developer.android.com/reference/android/database/AbstractWindowedCursor.html#getType(int)).
Si está utilizando un API de nivel anterior, y usted sabe que todos los resultados en un cursor dado provenir de la misma mesa, entonces podría hacer algo así (no probado):
// Assumes "cursor" is a variable that contains the cursor you're
// interested in.
String tableName = "..."; // The name of the table
SQLiteDatabase db = cursor.getDatabase();
String[] names = cursor.getColumnNames();
for (name : names) {
Cursor typeCursor =
db.rawQuery("select typeof (" + name + ") from " + tableName;
typeCursor.moveToFirst();
Log.v("test", "Type of " + name + " is " + typeCursor.getString(0);
}
Pero esa voluntad (Espero) fallar si el cursor pasado fue (por ejemplo) el resultado de una llamada a db.rawQuery() que unió dos o más tablas.
Gracias Nik, fue una idea bastante clara. ¿Pero crees que usar el Resultset de JDBC también podría usarse? He estado leyendo que Google no es compatible con JDBC. – Arun
Posiblemente, no tengo una respuesta definitiva, me temo. Sin embargo, todavía estás abordando esto desde el lado equivocado. Como dije, las columnas SQLite realmente no tienen tipos de datos, es el valor en la columna el que tiene el tipo. Así que podría tener tres filas y una columna "foo", y en la fila 1 el contenido parece texto, en la fila 2 se ven como un int, y en la fila 3 el contenido parece un blob binario. El tipo de datos de la columna no ayudará. Quizás podría modificar su pregunta con más información sobre lo que realmente está tratando de lograr y puedo sugerir una solución adecuada. – Nik
Consulte http://stackoverflow.com/questions/5896348/to-get-resultset-from-pre-complie-statement-in-android/7270433#7270433 para obtener más información al respecto. –