while(cursor.moveToNext()){ int a1= cursor.getInt(cursor.getColumnIndex("d_head")); descA[i] = a1; String a2 = cursor.getString(cursor.getColumnIndex("d_name")); descB[i] = a2; String a3 = cursor.getString(cursor.getColumnIndex("d_post")); descC[i] = a3; String a4 = cursor.getString(cursor.getColumnIndex("d_type")); descD[i] = a4; String a5 = cursor.getString(cursor.getColumnIndex("d_content")); descE[i] = a5; i++; }
时间: 2024-02-14 08:35:57 浏览: 123
这是一段用于从数据库中查询数据的代码。具体来说,通过使用cursor对象,执行查询操作,并通过遍历查询结果集,读取每一条记录中的数据,以便存储到相应的数组中。
在这里,通过使用cursor对象查询数据库中的记录,并通过遍历查询结果集,逐条读取记录中的数据,并将其存储到相应的数组中。其中,getInt()方法用于获取一条记录中的某个整数类型的数据,getString()方法用于获取一条记录中的某个字符串类型的数据,getColumnIndex()方法用于获取指定列名的列索引,以便从一条记录中读取相应的数据。
需要注意的是,在使用cursor对象查询数据库时,需要先调用其query()方法,指定要查询的表名、列名、查询条件等信息,以便获取查询结果集。另外,在遍历查询结果集时,需要先调用cursor.moveToFirst()方法,将游标移动到第一条记录的位置,然后再通过循环遍历的方式,逐条读取查询结果集中的记录。遍历完查询结果集后,需要调用cursor.close()方法,释放游标资源。
相关问题
while(cursor.moveToNext()) { int a2 = cursor.getInt(cursor.getColumnIndex("_id")); desc[p] = a2; p++; }
这是一段用于遍历查询结果集的代码。具体来说,代码中通过调用Cursor对象的moveToNext()方法,将光标移动到查询结果集的下一行,并返回一个布尔值,表示是否移动成功。如果移动成功,则通过调用Cursor对象的getColumnIndex()方法获取"_id"列在结果集中的索引,并通过调用getInt()方法获取该列的值,并将其赋值给变量a2。接着将a2的值存储到数组desc中,并将p的值加1,以便继续存储下一个查询结果的值。
需要注意的是,在这里我们只查询了"_id"列,并将其存储到了一个数组中。如果需要查询其他列,可以通过调用Cursor对象的getColumnIndex()方法获取该列在结果集中的索引,并调用对应的get方法获取该列的值。另外,在使用Cursor对象进行查询时,需要注意在使用完毕后将其关闭,以释放资源。
下面代码的意思 private void queryTitle() { Cursor cursor1= mDatabase.rawQuery("select count(2) from "+DBHelper.TABLE_NAME,null); cursor1.moveToFirst(); long count = cursor1.getLong(0); int num=(int) count; title=new String[num]; id=new int[num]; cursor1.close(); Cursor cursor; cursor = mDatabase.query(DBHelper.TABLE_NAME,DBHelper.TABLE_COLUMNS,null,null,null,null,null); int i=0; while (cursor != null && cursor.moveToNext()) { id[i]=cursor.getInt(cursor.getColumnIndex(DBHelper.COLUMN_ID)); title[i]=cursor.getString(cursor.getColumnIndex(DBHelper.COLUMN_TITLE)); i+=1; } cursor.close(); } class MyBaseAdapter extends BaseAdapter { @Override public int getCount() { Cursor cursor= mDatabase.rawQuery("select count(2) from "+DBHelper.TABLE_NAME,null); cursor.moveToFirst(); long count = cursor.getLong(0); cursor.close(); int num=(int)count; return num; }
这段代码是在 Android 应用程序中对数据库进行查询,并将查询结果显示在 ListView 中。在 queryTitle() 方法中,首先查询数据库中的记录总数,然后根据总数创建一个对应大小的字符串数组和整型数组。接着,使用 query() 方法查询数据库中的所有记录,并将记录的 id 和 title 分别存储在 id 数组和 title 数组中。最后,关闭游标 cursor。
在 MyBaseAdapter 类中,重写了 getCount() 方法。该方法返回数据库中记录的总数。在 getCount() 方法中,先查询数据库中的记录总数,然后关闭游标 cursor,并将记录总数转换为 int 类型并返回。
顺便提一下,该程序使用了自定义的 MyBaseAdapter 类继承自 BaseAdapter 类,并且在 ListView 中使用 MyBaseAdapter 对象进行渲染。该自定义 Adapter 类负责将查询结果显示在 ListView 中。
阅读全文