Android Cursor类的了解和使用

  • SQLite数据库中的Cursor是每一行的集合
    moveTOFirst();可将Cursor定位到第一行
    想要获取相应数据,必须知道每一列的名称和每一列的数据类型
  • 方法详解
·close()——关闭游标,释放资源

·getColumnCount()——返回所有列的总数

·getColumnIndex(String columnName)——返回指定列的名称,如果不存在返回-1

·getColumnIndexOrThrow(String columnName)——从零开始返回指定列名称,如果不存在将抛出
IllegalArgumentException 异常。

·getColumnName(int columnIndex)——从给定的索引返回列名

·getColumnNames()——返回一个字符串数组的列名

·getCount()——返回Cursor 中的行数

·moveToFirst()——移动光标到第一行

·moveToLast()——移动光标到最后一行

·moveToNext()——移动光标到下一行

·moveToPosition(int position)——移动光标到一个绝对的位置

·moveToPrevious()——移动光标到上一行
  • Example:
        (While 循环形式取出数据)
        事先建好SQLiteHelper辅助类
        SQLiteHelper db = new SQLiteHelper(MainActivity.this,"Kiku_db");
        SQLiteDataBase dbtest = db.getReadableDatabase();
        Cursor cursor = dbtest.query("userInfo","userInfo",new String[]{"id","name"},"id=?",new String[]{“2”},null,null,null,null);
        while(cursor.moveToNext()){
                int id = cursor.getInt(cursor.getColumnIndex("id"));
                String name = cursor.getString(cursor.getColumnIndex("name"));
                Toast.makeText(MainActivity.this,"id: " + id + " name: "+name,Toast.LENGTH_SHORT).show();
            `}
            dbtest.close();

       (For 循环取出数据)
           for(cursor.moveToFirst();!cursor.isAfterLast();cursor.moveToNext()){
                   //isAfterLast();判断是否到Cursor的末尾,没到末尾false,到了末尾true,所以要加上!符号,让for循环里的代得以执行
                    int id = cursor.getInt(cursor.getColumnIndex("id"));
                    String name = cursor.getString(cursor.getColumnIndex("name"));
                    Toast.makeText(MainActivity.this,"id: " + id + "Name: "+name).show();
            }

 - 更新时间:2016730
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值