在使用Android Studio,使用数据库时查询用到cursor。
但是怎么查询到之后,怎么使用里面的数据呢?
在这里以我用的Sqlite为例:
使用Cursor对象获取查询结果
一、要执行查询,需要用到SQLiteDatabase 对象的rawQuery()方法,第1个参数为SELECT语句,第2个参数设为null即可:
rawQuery("SELECT * FROM test",null); //返回test数据表的所有记录
二、rawQuery()方法返回的查询结果为Cursor类的对象。Cursor可称为”数据指针“,要读取查询结果中某一个记录,就必须将Cursor指标指到它,之后才能读取其内容。
moveToFirst() | 移到第一个记录 | moveToLast() | 移到最后一个记录 |
moveToNext() | 移到下一个记录 | moveToPrevious() | 移到前一个记录 |
Cursor cur = db.rawQuery("SELECT * FROM test");//执行查询
if(cur.moveToFirst()) //查询结果中有数据才继续
do{ //利用do/while循环逐个读取
… //读取指针所指的数据
}while(cur.moveToNext()); //若还有下一个记录,就继续do/while循环
public class MainActivity extends ActionBarActivity {
static final String db_name = "testDB"; //数据库名称
static final String tb_name = "test"; // 数据表名称
SQLiteDatabase db; //数据库对象
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setConte