黑马程序员技术交流社区

标题: 请教问题 [打印本页]

作者: 看海的管家    时间: 2015-10-8 09:20
标题: 请教问题
如何获取游标所指的行的数据?
作者: 海狮    时间: 2015-10-8 13:31
游标的本质是一种能中多个数据记录结果的集中提出一条记录的机制.
Cursor类有下面几种常用方法:
* close();        关闭游标 ,释放资源;
* copyStringToBuffer(int columnIndex,CharArrayBuffer buffer);        在缓冲区中检索请求的列的文本,将其存储;
* getColumnCount();        返回所有列的行数;
* getColumnIndex(String columnName); 返回指定的列,如果不存在那么返回-1;
* getColumnIndexOrThrow(String columnName);从0开始返回指定列的名称,如果不存在将抛出异常;
* getColumnName(int columnIndex);        从给定的索引返回列名;
* getColumnNames();        返回一个字符串数组的列名;
* getString(int columnIndex);   返回列标为columnIndex的数据;
* moveToFirst();        将游标移动到第一条;
* moveToLast();        将游标移动到最后一条;
* move(int offset);        将游标移动到指定ID;
* moveToNext();        将游标移动到下一条;
* moveToPrevious();        将游标移动到上一条;
* getCount();        得到游标总记录条数;
* isFirst();        判断当前游标是否为第一条数据;

eg
查询获取某数据表的数据,存入Cursor操作
//假设表名为tablename,列名有 column1,column2,column3;
Cursor cursor=sqliteDatabase.rawQuery("select * from tablename",null);
//要获取第5行数据(假设存在,不确定是否存在可以用getCount()获取行数,这里为方便直接假设存在)
角标从0开始
cursor.move(4);
获取列名为column1的列的数据
String data=cursor.getString(cursor.getColumnIndex("column1"));




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2