刚刚试用了一下Android的SQLite数据库,用了cursor这个类。
百度百科给的解释是游标(cursor)是系统为用户开设的一个数据缓冲区,存放SQL语句的执行结果。每个游标区都有一个名字。用户可以用SQL语句逐一从游标中获取记录,并赋给主变量,交由主语言进一步处理。
在查询操作的时候出现了cursor index out of bounds exception。在stackoverflow上找了一下终于找到了解决方案,也加强了对cursor的理解。
以前我一直以为cursor就是指向一个数据表中的一行,不过事实上cursor是一个结果集的缓冲区,也就是游标中保存了所有符合这个查询的行记录。所以要获得具体某一行需要调用cursor类的movetofirst()方法,这个方法让游标指向了查询结果集的第一条记录,然后就可以对这行记录进行任何操作,获得某列属性(getstring("name of the attribute"))。
最后使用完毕了,需要调用cursor的close()方法,来释放资源。