PrachiN PrachiN - 5 months ago 38
Android Question

Retrieving column names with column values in sqlite using cursor

I want to display column names with column values in the Listview using cursor.
My present code shows only the column values.

public void openAndQueryDatabase() {

db = openOrCreateDatabase( "mydatabase.db", SQLiteDatabase.CREATE_IF_NECESSARY , null );

Cursor cursor = db.rawQuery("select * from "+ table + " where name='"+ name + "'", null);


int count = cursor.getColumnCount();

if (cursor!=null )
{

if (cursor.moveToFirst())
{
do
{
for (int i =0 ; i< count; i++)
{
String data = cursor.getString(i);
details.add(data);
}
}
while (cursor.moveToNext());
}

}
}

Answer

In this case you should use hashmap

for (int i =0 ; i< count; i++)
{
    String data = cursor.getString(i);
    String column_name = cursor.getColumnName(i);

    HashMap<String,String> map = new HashMap<String,String>();
    map.put("column_value",data);
    map.put("column_name",column_name);

    details.add(map); //change the type of details from ArrayList<String> to arrayList<HashMap<String,String>>
}