使用游标在sqlite中检索具有列值的列名

时间:2014-04-19 08:34:13

标签: android sqlite android-cursor

我想使用游标在Listview中显示列值和列值。 我目前的代码只显示列值。

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()); 
        } 

         }
}

4 个答案:

答案 0 :(得分:2)

使用getColumnName(int columnIndex)获取给定索引的行名称。

答案 1 :(得分:2)

在这种情况下,您应该使用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>>
}

答案 2 :(得分:0)

使用此功能。

 for (int i =0 ; i< count; i++)
  {
      String data = cursor.getString(i);
      String column_name = cursor.getColumName(i);
      details.add(data);
  }

答案 3 :(得分:0)

只需使用以下名称检索String数组:

cursor.getColumnNames()