提取结果

   

通过Cursor来提取实际的值,首先要使用moveTo<位置>方法来将Cursor移动到结果集中正确的行上。

 

Cursor位于正确的行上的前提下,使用类型安全的get方法(传入一个列索引)来获得储存在当前行、特定列的值,如下面的片段所示:

 

String columnValue = myResult.getString(columnIndex);

 

数据库的实现应该公布列索引的静态变量,这样能比列名称更加容易识别。如之前描述的,它们一般都放在数据库适配器中定义。

 

接下来的例子显示了如何通过一个Cursor来枚举结果集,提取float值并进行求和:

 

int GOLD_HOARDED_COLUMN = 2;

Cursor myGold = myDatabase.query(“GoldHoards”, null, null, null, null, null, null);

float totalHoard = 0f;

// Make sure there is at least one row.

if (myGold.moveToFirst())

{

// Iterate over each cursor.

do

{

float hoard = myGold.getFloat(GOLD_HOARDED_COLUMN);

totalHoard += hoard;

} while(myGold.moveToNext());

}

float averageHoard = totalHoard / myGold.getCount();

 

由于SQLite数据库的列是松散类型的,在需要的时候,你可以转换单一的值到有效的类型上。举个例子,以float存储的值可以以字符串的方式读取。

你可能感兴趣的:(提取结果)